docs(ngModel): validators should return undefined for invalid values.

Closes #3525
This commit is contained in:
Niall Smart 2013-08-09 09:52:27 -07:00 committed by Igor Minar
parent 0b114fd3e1
commit 890e939fcc

View file

@ -817,6 +817,10 @@ var VALID_CLASS = 'ng-valid',
* @property {Array.<Function>} $parsers Array of functions to execute, as a pipeline, whenever * @property {Array.<Function>} $parsers Array of functions to execute, as a pipeline, whenever
the control reads value from the DOM. Each function is called, in turn, passing the value the control reads value from the DOM. Each function is called, in turn, passing the value
through to the next. Used to sanitize / convert the value as well as validation. through to the next. Used to sanitize / convert the value as well as validation.
For validation, the parsers should update the validity state using
{@link ng.directive:ngModel.NgModelController#$setValidity $setValidity()},
and return `undefined` for invalid values.
* *
* @property {Array.<Function>} $formatters Array of functions to execute, as a pipeline, whenever * @property {Array.<Function>} $formatters Array of functions to execute, as a pipeline, whenever
the model value changes. Each function is called, in turn, passing the value through to the the model value changes. Each function is called, in turn, passing the value through to the
@ -1042,11 +1046,9 @@ var NgModelController = ['$scope', '$exceptionHandler', '$attrs', '$element', '$
* For example {@link ng.directive:input input} or * For example {@link ng.directive:input input} or
* {@link ng.directive:select select} directives call it. * {@link ng.directive:select select} directives call it.
* *
* It internally calls all `parsers` (including validators) and updates the `$modelValue` and the actual model path. * It internally calls all `$parsers` (including validators) and updates the `$modelValue` and the actual model path.
* Lastly it calls all registered change listeners. * Lastly it calls all registered change listeners.
* *
* If validators determine the value is invalid, the `$modelValue` and the model path will be set to `undefined`.
*
* @param {string} value Value from the view. * @param {string} value Value from the view.
*/ */
this.$setViewValue = function(value) { this.$setViewValue = function(value) {