diff options
| author | Misko Hevery | 2010-04-16 17:03:06 -0700 |
|---|---|---|
| committer | Misko Hevery | 2010-04-16 17:03:06 -0700 |
| commit | 6470b48ce022885551e83c9f5fd8a90fbc6ff80e (patch) | |
| tree | 36b189ea3fdb7ab2026d06fa5dd0961e51d881e0 /src/widgets.js | |
| parent | deb86fe357a901889bc4289087f0b9e69cb8a302 (diff) | |
| download | angular.js-6470b48ce022885551e83c9f5fd8a90fbc6ff80e.tar.bz2 | |
validation issues fixed
Diffstat (limited to 'src/widgets.js')
| -rw-r--r-- | src/widgets.js | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/widgets.js b/src/widgets.js index 2909aed1..828e6d24 100644 --- a/src/widgets.js +++ b/src/widgets.js @@ -27,6 +27,11 @@ function valueAccessor(scope, element) { required = required || required === ''; if (!validator) throw "Validator named '" + validatorName + "' not found."; function validate(value) { + var force = false; + if (isUndefined(value)) { + value = element.val(); + force = true; + } if (element[0].disabled || isString(element.attr('readonly'))) { elementError(element, NG_VALIDATION_ERROR, null); invalidWidgets.markValid(element); @@ -36,8 +41,8 @@ function valueAccessor(scope, element) { validateScope = extend(new (extend(function(){}, {prototype:scope}))(), {$element:element}); error = required && !trim(value) ? "Required" : - validator({state:validateScope, scope:{get:validateScope.$get, set:validateScope.$set}}, value); - if (error !== lastError) { + (trim(value) ? validator({state:validateScope, scope:{get:validateScope.$get, set:validateScope.$set}}, value) : null); + if (error !== lastError || force) { elementError(element, NG_VALIDATION_ERROR, error); lastError = error; if (error) |
