@jsbailey/reactive-form-validators
Version:
[](https://badge.fury.io/js/%40rxweb%2Freactive-form-validators) [](https://gitter.im/rxweb-project/rxweb?utm_source=badge
33 lines (32 loc) • 4.64 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { RegexValidator } from "../util/regex-validator";
import { Linq } from "../util/linq";
import { ApplicationUtil } from "../util/app-util";
import { ObjectMaker } from "../util/object-maker";
import { AnnotationTypes } from "../core/validator.static";
/**
* @param {?} config
* @return {?}
*/
export function lowercaseValidator(config) {
return (control) => {
/** @type {?} */
const controlValue = control.value;
/** @type {?} */
const formGroupValue = ApplicationUtil.getParentObjectValue(control);
config = ApplicationUtil.getConfigObject(config);
/** @type {?} */
const parentObject = (control.parent) ? control.parent.value : undefined;
if (Linq.IsPassed(formGroupValue, config.conditionalExpression, parentObject)) {
if (RegexValidator.isNotBlank(controlValue)) {
if (!(controlValue === controlValue.toLowerCase()))
return ObjectMaker.toJson(AnnotationTypes["lowerCase"], config.message || null, [controlValue]);
}
}
return ObjectMaker.null();
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG93ZXJjYXNlLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bqc2JhaWxleS9yZWFjdGl2ZS1mb3JtLXZhbGlkYXRvcnMvIiwic291cmNlcyI6WyJyZWFjdGl2ZS1mb3JtLXZhbGlkYXRvcnMvbG93ZXJjYXNlLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBRTNELE1BQU0sNkJBQTZCLE1BQW9CO0lBQ25ELE1BQU0sQ0FBQyxDQUFDLE9BQXdCLEVBQTBCLEVBQUU7O1FBQ3hELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7O1FBQ25DLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRSxNQUFNLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQzs7UUFDakQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDekUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLHFCQUFxQixFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1RSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztvQkFDL0MsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsZUFBZSxlQUFZLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQTthQUNuRztTQUNKO1FBQ0QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztLQUM3QixDQUFBO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgVmFsaWRhdG9yRm4sXHJcbiAgICBBYnN0cmFjdENvbnRyb2x9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBSZWdleFZhbGlkYXRvciB9IGZyb20gXCIuLi91dGlsL3JlZ2V4LXZhbGlkYXRvclwiO1xyXG5pbXBvcnQgeyBNZXNzYWdlQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy9jb25maWcvbWVzc2FnZS1jb25maWdcIjtcclxuaW1wb3J0IHsgTGlucSB9IGZyb20gXCIuLi91dGlsL2xpbnFcIjtcclxuaW1wb3J0IHsgQXBwbGljYXRpb25VdGlsIH0gZnJvbSBcIi4uL3V0aWwvYXBwLXV0aWxcIjtcclxuaW1wb3J0IHsgRGVjb3JhdG9yTmFtZSB9IGZyb20gXCIuLi91dGlsL2RlY29yYXRvci1uYW1lXCI7XHJcbmltcG9ydCB7IE9iamVjdE1ha2VyIH0gZnJvbSBcIi4uL3V0aWwvb2JqZWN0LW1ha2VyXCI7XHJcbmltcG9ydCB7IEFubm90YXRpb25UeXBlcyB9IGZyb20gXCIuLi9jb3JlL3ZhbGlkYXRvci5zdGF0aWNcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb3dlcmNhc2VWYWxpZGF0b3IoY29uZmlnOk1lc3NhZ2VDb25maWcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgY29uc3QgZm9ybUdyb3VwVmFsdWUgPSBBcHBsaWNhdGlvblV0aWwuZ2V0UGFyZW50T2JqZWN0VmFsdWUoY29udHJvbCk7XHJcbiAgICAgICAgY29uZmlnID0gQXBwbGljYXRpb25VdGlsLmdldENvbmZpZ09iamVjdChjb25maWcpO1xyXG4gICAgICAgIGNvbnN0IHBhcmVudE9iamVjdCA9IChjb250cm9sLnBhcmVudCkgPyBjb250cm9sLnBhcmVudC52YWx1ZSA6IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAoTGlucS5Jc1Bhc3NlZChmb3JtR3JvdXBWYWx1ZSwgY29uZmlnLmNvbmRpdGlvbmFsRXhwcmVzc2lvbiwgcGFyZW50T2JqZWN0KSkge1xyXG4gICAgICAgICAgICBpZiAoUmVnZXhWYWxpZGF0b3IuaXNOb3RCbGFuayhjb250cm9sVmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIShjb250cm9sVmFsdWUgPT09IGNvbnRyb2xWYWx1ZS50b0xvd2VyQ2FzZSgpKSlcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIudG9Kc29uKEFubm90YXRpb25UeXBlcy5sb3dlckNhc2UsIGNvbmZpZy5tZXNzYWdlIHx8IG51bGwsIFtjb250cm9sVmFsdWVdKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBPYmplY3RNYWtlci5udWxsKCk7XHJcbiAgICB9XHJcbn1cclxuIl19