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

29 lines (28 loc) 3.92 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { RegexValidator } from "../util/regex-validator"; import { ApplicationUtil } from "../util/app-util"; import { ObjectMaker } from "../util/object-maker"; import { AnnotationTypes } from "../core/validator.static"; /** * @param {?} config * @return {?} */ export function passwordValidator(config) { return (control) => { /** @type {?} */ let controlValue = control.value; /** @type {?} */ const formGroupValue = ApplicationUtil.getParentObjectValue(control); if (RegexValidator.isNotBlank(controlValue)) { /** @type {?} */ let validation = RegexValidator.isValidPassword(config.validation, controlValue); if (!validation["isValid"]) return ObjectMaker.toJson(AnnotationTypes["password"], config.message || null, [controlValue]); } return ObjectMaker.null(); }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGpzYmFpbGV5L3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy8iLCJzb3VyY2VzIjpbInJlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy9wYXNzd29yZC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUlBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUl6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFFM0QsTUFBTSw0QkFBNEIsTUFBcUI7SUFDbkQsTUFBTSxDQUFDLENBQUMsT0FBd0IsRUFBMEIsRUFBRTs7UUFDeEQsSUFBSSxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQzs7UUFDakMsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDOztZQUMxQyxJQUFJLFVBQVUsR0FBRyxjQUFjLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDakYsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLFdBQVEsQ0FBQztnQkFDcEIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsZUFBZSxjQUFXLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQTtTQUM5RjtRQUNMLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7S0FFN0IsQ0FBQTtDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIFZhbGlkYXRvckZuLFxyXG4gICAgQWJzdHJhY3RDb250cm9sXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFJlZ2V4VmFsaWRhdG9yIH0gZnJvbSBcIi4uL3V0aWwvcmVnZXgtdmFsaWRhdG9yXCI7XHJcbmltcG9ydCB7IFBhc3N3b3JkVmFsaWRhdGlvbiB9IGZyb20gXCIuLi9tb2RlbHMvcGFzc3dvcmQtdmFsaWRhdGlvbi5tb2RlbFwiO1xyXG5pbXBvcnQgeyBQYXNzd29yZENvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHMvY29uZmlnL3Bhc3N3b3JkLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBMaW5xIH0gZnJvbSBcIi4uL3V0aWwvbGlucVwiO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblV0aWwgfSBmcm9tIFwiLi4vdXRpbC9hcHAtdXRpbFwiO1xyXG5pbXBvcnQgeyBEZWNvcmF0b3JOYW1lIH0gZnJvbSBcIi4uL3V0aWwvZGVjb3JhdG9yLW5hbWVcIjtcclxuaW1wb3J0IHsgT2JqZWN0TWFrZXIgfSBmcm9tIFwiLi4vdXRpbC9vYmplY3QtbWFrZXJcIjtcclxuaW1wb3J0IHsgQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIi4uL2NvcmUvdmFsaWRhdG9yLnN0YXRpY1wiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHBhc3N3b3JkVmFsaWRhdG9yKGNvbmZpZzpQYXNzd29yZENvbmZpZyk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XHJcbiAgICAgICAgbGV0IGNvbnRyb2xWYWx1ZSA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgY29uc3QgZm9ybUdyb3VwVmFsdWUgPSBBcHBsaWNhdGlvblV0aWwuZ2V0UGFyZW50T2JqZWN0VmFsdWUoY29udHJvbCk7XHJcbiAgICAgICAgaWYgKFJlZ2V4VmFsaWRhdG9yLmlzTm90QmxhbmsoY29udHJvbFZhbHVlKSkge1xyXG4gICAgICAgICAgICBsZXQgdmFsaWRhdGlvbiA9IFJlZ2V4VmFsaWRhdG9yLmlzVmFsaWRQYXNzd29yZChjb25maWcudmFsaWRhdGlvbiwgY29udHJvbFZhbHVlKTtcclxuICAgICAgICAgICAgaWYgKCF2YWxpZGF0aW9uLmlzVmFsaWQpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIudG9Kc29uKEFubm90YXRpb25UeXBlcy5wYXNzd29yZCwgY29uZmlnLm1lc3NhZ2UgfHwgbnVsbCwgW2NvbnRyb2xWYWx1ZV0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIubnVsbCgpO1xyXG5cclxuICAgIH1cclxufVxyXG4iXX0=