@jsbailey/reactive-form-validators
Version:
[](https://badge.fury.io/js/%40rxweb%2Freactive-form-validators) [](https://gitter.im/rxweb-project/rxweb?utm_source=badge
36 lines (35 loc) • 5.77 kB
JavaScript
/**
* @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";
import { Linq } from "../util/linq";
import { ApplicationUtil } from "../util/app-util";
/**
* @param {?} config
* @return {?}
*/
export function greaterThanEqualToValidator(config) {
return function (control) {
/** @type {?} */
var matchControl = control.root.get([config.fieldName]);
/** @type {?} */
var controlValue = control.value;
/** @type {?} */
var matchControlValue = (matchControl) ? matchControl.value : '';
/** @type {?} */
var formGroupValue = ApplicationUtil.getParentObjectValue(control);
/** @type {?} */
var parentObject = (control.parent) ? control.parent.value : undefined;
if (Linq.IsPassed(formGroupValue, config.conditionalExpression, parentObject)) {
if ((RegexValidator.isNotBlank(controlValue) && RegexValidator.isNotBlank(matchControlValue))) {
if (!(matchControl && parseFloat(controlValue) >= parseFloat(matchControlValue)))
return ObjectMaker.toJson(AnnotationTypes["greaterThanEqualTo"], config.message || null, [controlValue, matchControlValue]);
}
}
return ObjectMaker.null();
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JlYXRlci10aGFuLWVxdWFsLXRvLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bqc2JhaWxleS9yZWFjdGl2ZS1mb3JtLXZhbGlkYXRvcnMvIiwic291cmNlcyI6WyJyZWFjdGl2ZS1mb3JtLXZhbGlkYXRvcnMvZ3JlYXRlci10aGFuLWVxdWFsLXRvLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBU0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBRW5ELE1BQU0sc0NBQXNDLE1BQWdDO0lBQ3hFLE1BQU0sQ0FBQyxVQUFDLE9BQWtCOztRQUN0QixJQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDOztRQUMxRCxJQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDOztRQUNuQyxJQUFNLGlCQUFpQixHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzs7UUFDbkUsSUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDOztRQUNyRSxJQUFNLFlBQVksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUN6RSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMscUJBQXFCLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVFLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxjQUFjLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzVGLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7b0JBQzdFLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsd0JBQXFCLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDLENBQUMsQ0FBQzthQUNoSTtTQUNKO1FBQ0QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztLQUM3QixDQUFBO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgRm9ybUdyb3VwLFxyXG4gICAgRm9ybUJ1aWxkZXIsXHJcbiAgICBWYWxpZGF0b3JzLFxyXG4gICAgVmFsaWRhdG9yLFxyXG4gICAgVmFsaWRhdG9yRm4sXHJcbiAgICBBYnN0cmFjdENvbnRyb2xcclxufSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmltcG9ydCB7IFJlZ2V4VmFsaWRhdG9yIH0gZnJvbSBcIi4uL3V0aWwvcmVnZXgtdmFsaWRhdG9yXCI7XHJcbmltcG9ydCB7IFJlZ0V4UnVsZSB9IGZyb20gXCIuLi91dGlsL3JlZ2V4LXJ1bGVzXCI7XHJcbmltcG9ydCB7IERlY29yYXRvck5hbWUgfSBmcm9tIFwiLi4vdXRpbC9kZWNvcmF0b3ItbmFtZVwiXHJcbmltcG9ydCB7IE9iamVjdE1ha2VyIH0gZnJvbSBcIi4uL3V0aWwvb2JqZWN0LW1ha2VyXCI7XHJcbmltcG9ydCB7IElOVkFMSUQgfSBmcm9tIFwiLi4vY29uc3QvdmFsaWRhdG9yLmNvbnN0XCJcclxuaW1wb3J0IHsgQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIi4uL2NvcmUvdmFsaWRhdG9yLnN0YXRpY1wiO1xyXG5pbXBvcnQgeyBSZWxhdGlvbmFsT3BlcmF0b3JDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy9yZWxhdGlvbmFsLW9wZXJhdG9yLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBMaW5xIH0gZnJvbSBcIi4uL3V0aWwvbGlucVwiO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblV0aWwgfSBmcm9tIFwiLi4vdXRpbC9hcHAtdXRpbFwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdyZWF0ZXJUaGFuRXF1YWxUb1ZhbGlkYXRvcihjb25maWc6IFJlbGF0aW9uYWxPcGVyYXRvckNvbmZpZyk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogRm9ybUdyb3VwKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XHJcbiAgICAgICAgY29uc3QgbWF0Y2hDb250cm9sID0gY29udHJvbC5yb290LmdldChbY29uZmlnLmZpZWxkTmFtZV0pO1xyXG4gICAgICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgY29uc3QgbWF0Y2hDb250cm9sVmFsdWUgPSAobWF0Y2hDb250cm9sKSA/IG1hdGNoQ29udHJvbC52YWx1ZSA6ICcnO1xyXG4gICAgICAgIGNvbnN0IGZvcm1Hcm91cFZhbHVlID0gQXBwbGljYXRpb25VdGlsLmdldFBhcmVudE9iamVjdFZhbHVlKGNvbnRyb2wpO1xyXG4gICAgICAgIGNvbnN0IHBhcmVudE9iamVjdCA9IChjb250cm9sLnBhcmVudCkgPyBjb250cm9sLnBhcmVudC52YWx1ZSA6IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAoTGlucS5Jc1Bhc3NlZChmb3JtR3JvdXBWYWx1ZSwgY29uZmlnLmNvbmRpdGlvbmFsRXhwcmVzc2lvbiwgcGFyZW50T2JqZWN0KSkge1xyXG4gICAgICAgICAgICBpZiAoKFJlZ2V4VmFsaWRhdG9yLmlzTm90QmxhbmsoY29udHJvbFZhbHVlKSAmJiBSZWdleFZhbGlkYXRvci5pc05vdEJsYW5rKG1hdGNoQ29udHJvbFZhbHVlKSkpIHtcclxuICAgICAgICAgICAgICAgIGlmICghKG1hdGNoQ29udHJvbCAmJiBwYXJzZUZsb2F0KGNvbnRyb2xWYWx1ZSkgPj0gcGFyc2VGbG9hdChtYXRjaENvbnRyb2xWYWx1ZSkpKVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3RNYWtlci50b0pzb24oQW5ub3RhdGlvblR5cGVzLmdyZWF0ZXJUaGFuRXF1YWxUbywgY29uZmlnLm1lc3NhZ2UgfHwgbnVsbCwgW2NvbnRyb2xWYWx1ZSwgbWF0Y2hDb250cm9sVmFsdWVdKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIubnVsbCgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==