Skip to content

Commit

Permalink
resetForm now clears old previousValue on form elements. Fixes jquery…
Browse files Browse the repository at this point in the history
  • Loading branch information
mlynch committed May 4, 2012
1 parent c3ce5b4 commit f0b8042
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 19 deletions.
2 changes: 1 addition & 1 deletion jquery.validate.js
Expand Up @@ -410,7 +410,7 @@ $.extend($.validator, {
this.lastElement = null;
this.prepareForm();
this.hideErrors();
this.elements().removeClass( this.settings.errorClass );
this.elements().removeClass( this.settings.errorClass ).removeData( "previousValue" );
},

numberOfInvalids: function() {
Expand Down
32 changes: 15 additions & 17 deletions test/methods.js
Expand Up @@ -495,16 +495,16 @@ asyncTest("remote radio correct value sent", function() {
v.element(e);
});

asyncTest("remote correct number of invalids", function() {
expect(4);
asyncTest("remote reset clear old value", function() {
expect(1);

var e = $("#username");
var v = $("#userForm").validate({
rules: {
username: {
required: true,
remote: {
url: "echo.php",
dataType: 'json',
dataFilter: function(data) {
var json = JSON.parse(data);
if(json.username == 'asdf') {
Expand All @@ -514,33 +514,31 @@ asyncTest("remote correct number of invalids", function() {
}
}
}
},
messages: {
username: {
required: "Please"
}
},
submitHandler: function() {
ok( false, "submitHandler may never be called when validating only elements");
}
});
$(document).ajaxStop(function() {
var waitTimeout;

$(document).unbind("ajaxStop");
equal( 1, v.numberOfInvalids(), "There must be one error" );

e.val("max");

$(document).ajaxStop(function() {
equal( 0, v.numberOfInvalids(), "There must not be any errors" );
clearTimeout(waitTimeout);
ok( true, "Remote request sent to server" );
start();
});


v.resetForm();
e.val("asdf");
waitTimeout = setTimeout(function() {
ok( false, "Remote server did not get request");
start();
}, 200);
v.element(e);
});
strictEqual( v.element(e), false, "invalid element, nothing entered yet" );
e.val("asdf");
strictEqual( v.numberOfInvalids(), 1, "still invalid, because remote validation must block until it returns; dependency-mismatch considered as valid though" );
v.element(e);
v.element(e);
});

module("additional methods");
Expand Down
3 changes: 2 additions & 1 deletion test/test.js
Expand Up @@ -26,7 +26,8 @@ $.mockjax({
url: "echo.php",
response: function(data) {
this.responseText = JSON.stringify(data.data);
}
},
responseTime: 100
});

module("validator");
Expand Down

0 comments on commit f0b8042

Please sign in to comment.