UNPKG

@jsbailey/reactive-form-validators

Version:

[![npm version](https://badge.fury.io/js/%40rxweb%2Freactive-form-validators.svg)](https://badge.fury.io/js/%40rxweb%2Freactive-form-validators) [![Gitter](https://badges.gitter.im/rx-web/Lobby.svg)](https://gitter.im/rxweb-project/rxweb?utm_source=badge

28 lines (27 loc) 3.99 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { RegexValidator } from "../util/regex-validator"; import { ObjectMaker } from "../util/object-maker"; import { AnnotationTypes } from "../core/validator.static"; /** * @param {?} config * @return {?} */ export function compareValidator(config) { return function (control) { /** @type {?} */ var compareControl = control.root.get([config.fieldName]); /** @type {?} */ var controlValue = control.value; /** @type {?} */ var compareControlValue = (compareControl) ? compareControl.value : ''; if (RegexValidator.isNotBlank(controlValue)) { if (!(compareControl && compareControl.value === controlValue)) return ObjectMaker.toJson(AnnotationTypes["compare"], config.message || null, [controlValue, compareControlValue]); } return ObjectMaker.null(); }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AanNiYWlsZXkvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzLyIsInNvdXJjZXMiOlsicmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzL2NvbXBhcmUudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFTQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFFM0QsTUFBTSwyQkFBMkIsTUFBb0I7SUFDakQsTUFBTSxDQUFDLFVBQUMsT0FBa0I7O1FBQ3RCLElBQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7O1FBQzVELElBQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7O1FBQ25DLElBQU0sbUJBQW1CLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLElBQUksY0FBYyxDQUFDLEtBQUssS0FBSyxZQUFZLENBQUMsQ0FBQztnQkFDM0QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsZUFBZSxhQUFVLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztTQUN2SDtRQUNELE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDN0IsQ0FBQTtDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEZvcm1Hcm91cCxcclxuICAgIEZvcm1CdWlsZGVyLFxyXG4gICAgVmFsaWRhdG9ycyxcclxuICAgIFZhbGlkYXRvcixcclxuICAgIFZhbGlkYXRvckZuLFxyXG4gICAgQWJzdHJhY3RDb250cm9sXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5pbXBvcnQgeyBSZWdleFZhbGlkYXRvciB9IGZyb20gXCIuLi91dGlsL3JlZ2V4LXZhbGlkYXRvclwiO1xyXG5pbXBvcnQgeyBSZWdFeFJ1bGUgfSBmcm9tIFwiLi4vdXRpbC9yZWdleC1ydWxlc1wiO1xyXG5pbXBvcnQgeyBEZWNvcmF0b3JOYW1lIH0gZnJvbSBcIi4uL3V0aWwvZGVjb3JhdG9yLW5hbWVcIlxyXG5pbXBvcnQgeyBPYmplY3RNYWtlciB9IGZyb20gXCIuLi91dGlsL29iamVjdC1tYWtlclwiO1xyXG5pbXBvcnQgeyBJTlZBTElEIH0gZnJvbSBcIi4uL2NvbnN0L3ZhbGlkYXRvci5jb25zdFwiXHJcbmltcG9ydCB7IENvbXBhcmVDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy9jb21wYXJlLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBBbm5vdGF0aW9uVHlwZXMgfSBmcm9tIFwiLi4vY29yZS92YWxpZGF0b3Iuc3RhdGljXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29tcGFyZVZhbGlkYXRvcihjb25maWc6Q29tcGFyZUNvbmZpZyk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogRm9ybUdyb3VwKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XHJcbiAgICAgICAgY29uc3QgY29tcGFyZUNvbnRyb2wgPSBjb250cm9sLnJvb3QuZ2V0KFtjb25maWcuZmllbGROYW1lXSk7XHJcbiAgICAgICAgY29uc3QgY29udHJvbFZhbHVlID0gY29udHJvbC52YWx1ZTtcclxuICAgICAgICBjb25zdCBjb21wYXJlQ29udHJvbFZhbHVlID0gKGNvbXBhcmVDb250cm9sKSA/IGNvbXBhcmVDb250cm9sLnZhbHVlIDogJyc7XHJcbiAgICAgICAgaWYgKFJlZ2V4VmFsaWRhdG9yLmlzTm90QmxhbmsoY29udHJvbFZhbHVlKSkge1xyXG4gICAgICAgICAgICBpZiAoIShjb21wYXJlQ29udHJvbCAmJiBjb21wYXJlQ29udHJvbC52YWx1ZSA9PT0gY29udHJvbFZhbHVlKSlcclxuICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3RNYWtlci50b0pzb24oQW5ub3RhdGlvblR5cGVzLmNvbXBhcmUsIGNvbmZpZy5tZXNzYWdlIHx8IG51bGwsIFtjb250cm9sVmFsdWUsIGNvbXBhcmVDb250cm9sVmFsdWVdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdE1ha2VyLm51bGwoKTtcclxuICAgIH1cclxufVxyXG4iXX0=