UNPKG

@cnamts/vue-dot

Version:

Implementation of our Design System for the French Health Insurance

22 lines (16 loc) 670 B
import { ruleMessage } from '../../helpers/ruleMessage'; import { ValidationRule, ValidationResult, ErrorMessages, Value } from '../types'; import { defaultErrorMessages } from './locales'; /** Check that the value does not exceeds the specified length */ export function maxLengthFn(max: number, ignoreSpaces = false, errorMessages: ErrorMessages<number> = defaultErrorMessages): ValidationRule { return (value: Value): ValidationResult => { if (!value) { return true; } if (ignoreSpaces) { value = value.replace(/\s/g, ''); } return value.length <= max || ruleMessage(errorMessages, 'default', [max]); }; } export const maxLength = maxLengthFn;