diff options
Diffstat (limited to 'src/Widgets.js')
| -rw-r--r-- | src/Widgets.js | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Widgets.js b/src/Widgets.js index 8e668c8f..703fb376 100644 --- a/src/Widgets.js +++ b/src/Widgets.js @@ -22,7 +22,8 @@ function valueAccessor(scope, element) { var validatorName = element.attr('ng-validate') || NOOP, validator = compileValidator(validatorName), required = element.attr('ng-required'), - lastError; + lastError, + invalidWidgets = scope.$invalidWidgets || {markValid:noop, markInvalid:noop}; required = required || required === ''; if (!validator) throw "Validator named '" + validatorName + "' not found."; function validate(value) { @@ -30,6 +31,10 @@ function valueAccessor(scope, element) { if (error !== lastError) { elementError(element, NG_VALIDATION_ERROR, error); lastError = error; + if (error) + invalidWidgets.markInvalid(element); + else + invalidWidgets.markValid(element); } return value; } |
