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;
|
validator.settings.messages[ element.name ][ method ] = previous.originalMessage;
|
||||||
if ( valid ) {
|
if ( valid ) {
|
||||||
submitted = validator.formSubmitted;
|
submitted = validator.formSubmitted;
|
||||||
validator.resetInternals();
|
|
||||||
validator.toHide = validator.errorsFor( element );
|
validator.toHide = validator.errorsFor( element );
|
||||||
validator.formSubmitted = submitted;
|
validator.formSubmitted = submitted;
|
||||||
validator.successList.push( element );
|
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="buga" name="lastname" id="lastname">
|
||||||
<input type="text" data-rule-required="true" title="something" name="something" id="something" value="something">
|
<input type="text" data-rule-required="true" title="something" name="something" id="something" value="something">
|
||||||
</form>
|
</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">
|
<form id="testForm1clean">
|
||||||
<input title="buga" name="firstnamec" id="firstnamec">
|
<input title="buga" name="firstnamec" id="firstnamec">
|
||||||
<label id="errorFirstnamec" for="firstnamec" class="error">error for firstname</label>
|
<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" );
|
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 ) {
|
QUnit.test( "validate checkbox on click", function( assert ) {
|
||||||
function errors( expected, message ) {
|
function errors( expected, message ) {
|
||||||
assert.equal( v.size(), expected, message );
|
assert.equal( v.size(), expected, message );
|
||||||
|
|||||||
Reference in New Issue
Block a user