From 21e2e8002b5f57c8c6ee8c2614ab9cf4bb545412 Mon Sep 17 00:00:00 2001 From: Niall Smart Date: Fri, 9 Aug 2013 09:52:27 -0700 Subject: [PATCH] docs(ngModel): validators should return undefined for invalid values. --- src/ng/directive/input.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/ng/directive/input.js b/src/ng/directive/input.js index 7a07f271afb4..6f3919dfb174 100644 --- a/src/ng/directive/input.js +++ b/src/ng/directive/input.js @@ -817,6 +817,10 @@ var VALID_CLASS = 'ng-valid', * @property {Array.} $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 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.} $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 @@ -1042,11 +1046,9 @@ var NgModelController = ['$scope', '$exceptionHandler', '$attrs', '$element', '$ * For example {@link ng.directive:input input} or * {@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. * - * 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. */ this.$setViewValue = function(value) {