@geekbears/gb-class-validators
Version:
Geekbears custom validators using class-validator package.
24 lines (23 loc) • 850 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExactMatch = ExactMatch;
const class_validator_1 = require("class-validator");
const lodash_1 = require("lodash");
function ExactMatch(property, validationOptions) {
return (object, propertyName) => {
(0, class_validator_1.registerDecorator)({
name: 'exactMatch',
target: object.constructor,
propertyName,
constraints: [property],
options: validationOptions,
validator: {
validate(value, args) {
const [relatedPropertyName] = args.constraints;
const relatedValue = args.object[relatedPropertyName];
return (0, lodash_1.isEqual)(value, relatedValue);
},
},
});
};
}
;