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 | |
| parent | deb86fe357a901889bc4289087f0b9e69cb8a302 (diff) | |
| download | angular.js-6470b48ce022885551e83c9f5fd8a90fbc6ff80e.tar.bz2 | |
validation issues fixed
Diffstat (limited to 'src')
| -rw-r--r-- | src/services.js | 2 | ||||
| -rw-r--r-- | src/validators.js | 2 | ||||
| -rw-r--r-- | src/widgets.js | 9 | 
3 files changed, 8 insertions, 5 deletions
diff --git a/src/services.js b/src/services.js index 1d3ba006..d98c0876 100644 --- a/src/services.js +++ b/src/services.js @@ -165,14 +165,12 @@ angularService('$route', function(location, params){          }        };    function updateRoute(){ -    console.log('updating route');      var childScope;      $route.current = null;      angular.foreach(routes, function(routeParams, route) {        if (!childScope) {          var pathParams = matcher(location.hashPath, route);          if (pathParams) { -          console.log('new route', routeParams.template, location.hashPath, location.hash);            childScope = angular.scope(parentScope);            $route.current = angular.extend({}, routeParams, {              scope: childScope, diff --git a/src/validators.js b/src/validators.js index 27b4b404..81d40264 100644 --- a/src/validators.js +++ b/src/validators.js @@ -117,7 +117,7 @@ foreach({            element.removeClass('ng-input-indicator-wait');            scope.$invalidWidgets.markValid(element);          } -        element.data('$validate')(input); +        element.data('$validate')();          scope.$root.$eval();        });      } else if (inputState.inFlight) { 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)  | 
