aboutsummaryrefslogtreecommitdiffstats
path: root/angular-debug.js
diff options
context:
space:
mode:
authorMisko Hevery2010-04-16 17:03:06 -0700
committerMisko Hevery2010-04-16 17:03:06 -0700
commit6470b48ce022885551e83c9f5fd8a90fbc6ff80e (patch)
tree36b189ea3fdb7ab2026d06fa5dd0961e51d881e0 /angular-debug.js
parentdeb86fe357a901889bc4289087f0b9e69cb8a302 (diff)
downloadangular.js-6470b48ce022885551e83c9f5fd8a90fbc6ff80e.tar.bz2
validation issues fixed
Diffstat (limited to 'angular-debug.js')
-rw-r--r--angular-debug.js13
1 files changed, 8 insertions, 5 deletions
diff --git a/angular-debug.js b/angular-debug.js
index c3971b35..83ff265f 100644
--- a/angular-debug.js
+++ b/angular-debug.js
@@ -2839,7 +2839,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) {
@@ -3202,6 +3202,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);
@@ -3211,8 +3216,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)
@@ -3621,14 +3626,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,