mirror of
https://github.com/jquery-validation/jquery-validation.git
synced 2025-12-14 20:35:47 +01:00
Core: Call to resetInternals removed in remote validation callback (#2242)
* Core: Call to resetInternals removed in remote validation callback * Core: Add unit test for issue #2150 fix * Core: fix code style errors Co-authored-by: leonardospina <leo@babieleo.it> Co-authored-by: Julien Tschäppät <julien.tschappat@smartliberty.ch>
This commit is contained in:
@@ -1607,7 +1607,6 @@ $.extend( $.validator, {
|
||||
validator.settings.messages[ element.name ][ method ] = previous.originalMessage;
|
||||
if ( valid ) {
|
||||
submitted = validator.formSubmitted;
|
||||
validator.resetInternals();
|
||||
validator.toHide = validator.errorsFor( element );
|
||||
validator.formSubmitted = submitted;
|
||||
validator.successList.push( element );
|
||||
|
||||
@@ -72,6 +72,10 @@
|
||||
<input type="text" data-rule-required="true" title="buga" name="lastname" id="lastname">
|
||||
<input type="text" data-rule-required="true" title="something" name="something" id="something" value="something">
|
||||
</form>
|
||||
<form id="issue2150TestForm">
|
||||
<input id="remoteTestedInput" type="text" name="remoteTestedInput" value="test" /><br/>
|
||||
<input id="requiredInput" type="text" name="requiredInput" value="" />
|
||||
</form>
|
||||
<form id="testForm1clean">
|
||||
<input title="buga" name="firstnamec" id="firstnamec">
|
||||
<label id="errorFirstnamec" for="firstnamec" class="error">error for firstname</label>
|
||||
|
||||
31
test/test.js
31
test/test.js
@@ -2060,6 +2060,37 @@ QUnit.test( "[Remote rule] #1508: Validation fails to trigger when next field is
|
||||
check( "abc" );
|
||||
} );
|
||||
|
||||
$.mockjax( {
|
||||
url: "issue2150TestForm.action",
|
||||
response: function() {
|
||||
this.responseText = "true";
|
||||
},
|
||||
responseTime: 1
|
||||
} );
|
||||
|
||||
QUnit.test( "Remote validation should not reset existing errors (#2150)", function( assert ) {
|
||||
assert.expect( 3 );
|
||||
var done = assert.async();
|
||||
$( "#issue2150TestForm" ).validate( {
|
||||
rules: {
|
||||
remoteTestedInput: {
|
||||
remote: "issue2150TestForm.action"
|
||||
},
|
||||
requiredInput: "required"
|
||||
}
|
||||
} );
|
||||
|
||||
assert.equal( $( "#requiredInput" ).attr( "class" ), undefined, "#requiredInput should not have any class" );
|
||||
|
||||
var isValid = $( "#issue2150TestForm" ).valid();
|
||||
|
||||
setTimeout( function() {
|
||||
assert.equal( $( "#requiredInput" ).attr( "class" ), "error", "#requiredInput should have \"error\" class" );
|
||||
assert.equal( isValid, false, "Form should have error" );
|
||||
done();
|
||||
} );
|
||||
} );
|
||||
|
||||
QUnit.test( "validate checkbox on click", function( assert ) {
|
||||
function errors( expected, message ) {
|
||||
assert.equal( v.size(), expected, message );
|
||||
|
||||
Reference in New Issue
Block a user