@jsbailey/reactive-form-validators
Version:
[](https://badge.fury.io/js/%40rxweb%2Freactive-form-validators) [](https://gitter.im/rxweb-project/rxweb?utm_source=badge
29 lines (28 loc) • 3.91 kB
JavaScript
/**
* @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 function (control) {
/** @type {?} */
var controlValue = control.value;
/** @type {?} */
var formGroupValue = ApplicationUtil.getParentObjectValue(control);
if (RegexValidator.isNotBlank(controlValue)) {
/** @type {?} */
var 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGpzYmFpbGV5L3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy8iLCJzb3VyY2VzIjpbInJlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy9wYXNzd29yZC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUlBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUl6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFFM0QsTUFBTSw0QkFBNEIsTUFBcUI7SUFDbkQsTUFBTSxDQUFDLFVBQUMsT0FBd0I7O1FBQzVCLElBQUksWUFBWSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7O1FBQ2pDLElBQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQzs7WUFDMUMsSUFBSSxVQUFVLEdBQUcsY0FBYyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ2pGLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxXQUFRLENBQUM7Z0JBQ3BCLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsY0FBVyxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUE7U0FDOUY7UUFDTCxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0tBRTdCLENBQUE7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBWYWxpZGF0b3JGbixcclxuICAgIEFic3RyYWN0Q29udHJvbFxyXG59IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBSZWdleFZhbGlkYXRvciB9IGZyb20gXCIuLi91dGlsL3JlZ2V4LXZhbGlkYXRvclwiO1xyXG5pbXBvcnQgeyBQYXNzd29yZFZhbGlkYXRpb24gfSBmcm9tIFwiLi4vbW9kZWxzL3Bhc3N3b3JkLXZhbGlkYXRpb24ubW9kZWxcIjtcclxuaW1wb3J0IHsgUGFzc3dvcmRDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy9wYXNzd29yZC1jb25maWdcIjtcclxuaW1wb3J0IHsgTGlucSB9IGZyb20gXCIuLi91dGlsL2xpbnFcIjtcclxuaW1wb3J0IHsgQXBwbGljYXRpb25VdGlsIH0gZnJvbSBcIi4uL3V0aWwvYXBwLXV0aWxcIjtcclxuaW1wb3J0IHsgRGVjb3JhdG9yTmFtZSB9IGZyb20gXCIuLi91dGlsL2RlY29yYXRvci1uYW1lXCI7XHJcbmltcG9ydCB7IE9iamVjdE1ha2VyIH0gZnJvbSBcIi4uL3V0aWwvb2JqZWN0LW1ha2VyXCI7XHJcbmltcG9ydCB7IEFubm90YXRpb25UeXBlcyB9IGZyb20gXCIuLi9jb3JlL3ZhbGlkYXRvci5zdGF0aWNcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwYXNzd29yZFZhbGlkYXRvcihjb25maWc6UGFzc3dvcmRDb25maWcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xyXG4gICAgICAgIGxldCBjb250cm9sVmFsdWUgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgIGNvbnN0IGZvcm1Hcm91cFZhbHVlID0gQXBwbGljYXRpb25VdGlsLmdldFBhcmVudE9iamVjdFZhbHVlKGNvbnRyb2wpO1xyXG4gICAgICAgIGlmIChSZWdleFZhbGlkYXRvci5pc05vdEJsYW5rKGNvbnRyb2xWYWx1ZSkpIHtcclxuICAgICAgICAgICAgbGV0IHZhbGlkYXRpb24gPSBSZWdleFZhbGlkYXRvci5pc1ZhbGlkUGFzc3dvcmQoY29uZmlnLnZhbGlkYXRpb24sIGNvbnRyb2xWYWx1ZSk7XHJcbiAgICAgICAgICAgIGlmICghdmFsaWRhdGlvbi5pc1ZhbGlkKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdE1ha2VyLnRvSnNvbihBbm5vdGF0aW9uVHlwZXMucGFzc3dvcmQsIGNvbmZpZy5tZXNzYWdlIHx8IG51bGwsIFtjb250cm9sVmFsdWVdKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdE1ha2VyLm51bGwoKTtcclxuXHJcbiAgICB9XHJcbn1cclxuIl19