@@ -618,6 +618,57 @@ test( "remote, highlight all invalid fields", function( assert ) {
618
618
done ( ) ;
619
619
} , 500 ) ;
620
620
} ) ;
621
+ test ( "remote, unhighlighted should be invoked after being highlighted/invalid" , function ( assert ) {
622
+ expect ( 6 ) ;
623
+
624
+ var done1 = assert . async ( ) ,
625
+ done2 = assert . async ( ) ,
626
+ $form = $ ( "#testForm25" ) ,
627
+ $somethingField = $form . find ( "input[name='something25']" ) ,
628
+ responseText = "false" ,
629
+ response = function ( ) { return responseText ; } ,
630
+ validateOptions = {
631
+ highlight : function ( e ) {
632
+ $ ( e ) . addClass ( "error" ) ;
633
+ ok ( true , "highlight should be called" ) ;
634
+ } ,
635
+ unhighlight : function ( e ) {
636
+ $ ( e ) . removeClass ( "error" ) ;
637
+ ok ( true , "unhighlight should be called" ) ;
638
+ } ,
639
+ rules : {
640
+ something25 : {
641
+ required : true ,
642
+ remote : {
643
+ url : "response.php" ,
644
+ type : "post" ,
645
+ data : {
646
+ responseText : response
647
+ } ,
648
+ async : false
649
+ }
650
+ }
651
+ }
652
+ } ;
653
+
654
+ $somethingField . val ( "something value" ) ;
655
+ var v = $form . validate ( validateOptions ) ;
656
+ v . element ( $somethingField ) ;
657
+
658
+ setTimeout ( function ( ) {
659
+ equal ( $somethingField . hasClass ( "error" ) , true , "Field 'something' should have the error class" ) ;
660
+ done1 ( ) ;
661
+ $somethingField . val ( "something value 2" ) ;
662
+ responseText = "true" ;
663
+
664
+ v . element ( $somethingField ) ;
665
+
666
+ setTimeout ( function ( ) {
667
+ equal ( $somethingField . hasClass ( "error" ) , false , "Field 'something' should not have the error class" ) ;
668
+ done2 ( ) ;
669
+ } , 500 ) ;
670
+ } , 500 ) ;
671
+ } ) ;
621
672
622
673
test ( "Fix #697: remote validation uses wrong error messages" , function ( assert ) {
623
674
var e = $ ( "#username" ) ,
0 commit comments