angular2
Version:
Angular 2 - a web framework for modern web apps
1 lines • 4.94 kB
Source Map (JSON)
{"version":3,"sources":["validators.js"],"names":[],"mappings":"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","file":"angular2/src/forms/validators.js","sourcesContent":["import {isBlank, isPresent} from 'angular2/src/facade/lang';\nimport {List, ListWrapper, StringMapWrapper} from 'angular2/src/facade/collection';\n\nimport * as modelModule from './model';\n\n/**\n * Provides a set of validators used by form controls.\n *\n * # Example\n *\n * ```\n * var loginControl = new Control(\"\", Validators.required)\n * ```\n *\n * @exportedAs angular2/forms\n */\nexport class Validators {\n static required(c:modelModule.Control) {\n return isBlank(c.value) || c.value == \"\" ? {\"required\": true} : null;\n }\n\n static nullValidator(c:any) {\n return null;\n }\n\n static compose(validators:List<Function>):Function {\n return function (c:modelModule.Control) {\n var res = ListWrapper.reduce(validators, (res, validator) => {\n var errors = validator(c);\n return isPresent(errors) ? StringMapWrapper.merge(res, errors) : res;\n }, {});\n return StringMapWrapper.isEmpty(res) ? null : res;\n }\n }\n\n static group(c:modelModule.ControlGroup) {\n var res = {};\n StringMapWrapper.forEach(c.controls, (control, name) => {\n if (c.contains(name) && isPresent(control.errors)) {\n Validators._mergeErrors(control, res);\n }\n });\n return StringMapWrapper.isEmpty(res) ? null : res;\n }\n\n static array(c:modelModule.ControlArray) {\n var res = {};\n ListWrapper.forEach(c.controls, (control) => {\n if (isPresent(control.errors)) {\n Validators._mergeErrors(control, res);\n }\n });\n return StringMapWrapper.isEmpty(res) ? null : res;\n }\n\n static _mergeErrors(control, res) {\n StringMapWrapper.forEach(control.errors, (value, error) => {\n if (!StringMapWrapper.contains(res, error)) {\n res[error] = [];\n }\n ListWrapper.push(res[error], control);\n });\n }\n}\n"]}