@@ -814,6 +814,33 @@ test("validating groups settings parameter", function() {
814
814
equal ( validate . groups [ "input-six" ] , "stringGroup" ) ;
815
815
} ) ;
816
816
817
+ test ( 'bypassing validation on form submission' , function ( ) {
818
+ var form = $ ( "#bypassValidation" ) ;
819
+ var normalSubmission = $ ( "form#bypassValidation :input[id=normalSubmit]" ) ;
820
+ var bypassSubmitWithCancel = $ ( "form#bypassValidation :input[id=bypassSubmitWithCancel]" ) ;
821
+ var bypassSubmitWithNoValidate1 = $ ( "form#bypassValidation :input[id=bypassSubmitWithNoValidate1]" ) ;
822
+ var bypassSubmitWithNoValidate2 = $ ( "form#bypassValidation :input[id=bypassSubmitWithNoValidate2]" ) ;
823
+
824
+ var $v = form . validate ( {
825
+ debug : true
826
+ } ) ;
827
+
828
+ bypassSubmitWithCancel . click ( ) ;
829
+ equal ( $v . numberOfInvalids ( ) , 0 , "Validation was bypassed using CSS 'cancel' class." ) ;
830
+ $v . resetForm ( ) ;
831
+
832
+ bypassSubmitWithNoValidate1 . click ( ) ;
833
+ equal ( $v . numberOfInvalids ( ) , 0 , "Validation was bypassed using blank 'formnovalidate' attribute." ) ;
834
+ $v . resetForm ( ) ;
835
+
836
+ bypassSubmitWithNoValidate2 . click ( ) ;
837
+ equal ( $v . numberOfInvalids ( ) , 0 , "Validation was bypassed using 'formnovalidate=\"formnovalidate\"' attribute." ) ;
838
+ $v . resetForm ( ) ;
839
+
840
+ normalSubmission . click ( ) ;
841
+ equal ( $v . numberOfInvalids ( ) , 1 , "Validation failed correctly" ) ;
842
+ } ) ;
843
+
817
844
818
845
module ( "misc" ) ;
819
846
@@ -1422,3 +1449,5 @@ test("Min and Max strings set by attributes valid", function() {
1422
1449
var label = $ ( '#ranges label' ) ;
1423
1450
equal ( label . text ( ) , "" , "Correct error label" ) ;
1424
1451
} ) ;
1452
+
1453
+
0 commit comments