class-validator
Version:
Decorator-based property validation for classes.
24 lines • 1.11 kB
JavaScript
import { buildMessage, ValidateBy } from '../common/ValidateBy';
import matchesValidator from 'validator/lib/matches';
export var MATCHES = 'matches';
export function matches(value, pattern, modifiers) {
return typeof value === 'string' && matchesValidator(value, pattern, modifiers);
}
export function Matches(pattern, modifiersOrAnnotationOptions, validationOptions) {
var modifiers;
if (modifiersOrAnnotationOptions && modifiersOrAnnotationOptions instanceof Object && !validationOptions) {
validationOptions = modifiersOrAnnotationOptions;
}
else {
modifiers = modifiersOrAnnotationOptions;
}
return ValidateBy({
name: MATCHES,
constraints: [pattern, modifiers],
validator: {
validate: function (value, args) { return matches(value, args.constraints[0], args.constraints[1]); },
defaultMessage: buildMessage(function (eachPrefix, args) { return eachPrefix + '$property must match $constraint1 regular expression'; }, validationOptions),
},
}, validationOptions);
}
//# sourceMappingURL=Matches.js.map