@@ -112,7 +112,7 @@ Read the documentation for the file module at [#file-validators](#file-validator
112
112
* ** Dependent validation**
113
113
* ** Require "one-of"**
114
114
115
- Read the documentation for this module at [ http://formvalidator.net/ #logic] ( http://www.formvalidator.net/ #logic)
115
+ Read the documentation for this module at [ / #logic] ( #logic )
116
116
117
117
### Module: sepa
118
118
@@ -875,6 +875,88 @@ Use the attribute <code>data-validation-ratio</code> to validate that the upload
875
875
<input data-validation="ratio mime" data-validation-allowing="jpg" break="" data-validation-dimension="min100" data-validation-ratio="8:10-12:10" />
876
876
```
877
877
878
+ ## Logic
879
+
880
+ ### Validators depending on each other
881
+
882
+ Use the attributes <code >data-validation-depends-on</code > to configure that an input is optional as long as another input is left without an answer.
883
+
884
+ ```
885
+ <!-- Require e-mail only if checkbox is checked -->
886
+ <p>
887
+ <strong>Contact me:</strong>
888
+ <input name="do-contact" type="checkbox" value="1" />
889
+ </p>
890
+ <p>
891
+ <strong>E-mail:</strong>
892
+ <input
893
+ type="text"
894
+ data-validation="email"
895
+ data-validation-depends-on="do-contact"
896
+ />
897
+ </p>
898
+ ```
899
+
900
+ ```
901
+ <!-- Require a state to be given if the user comes from either USA or Canada -->
902
+ <p>
903
+ <strong>Country:</strong>
904
+ <input
905
+ type="text"
906
+ name="country"
907
+ id="country-input"
908
+ data-validation="country"
909
+ />
910
+ </p>
911
+
912
+ <p>
913
+ <strong>State:</strong>
914
+ <input type="text"
915
+ name="state" break=""
916
+ data-validation="required" break1=""
917
+ data-validation-depends-on="country" break2=""
918
+ data-validation-depends-on-value="usa, canada"
919
+ />
920
+ </p>
921
+ </div>
922
+ ...
923
+ <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
924
+ <script src="//cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.3.26/jquery.form-validator.min.js"></script>
925
+ <script>
926
+ $.validate({
927
+ modules : 'location, logic',
928
+ onModulesLoaded : function() {
929
+ $('#country-input').suggestCountry();
930
+ }
931
+ });
932
+ </script>
933
+ ```
934
+
935
+ ### Require only one out of several inputs
936
+
937
+ Use the attribute <code >data-validation-optional-if-answered</code > to tell the validator that only one, out of a group of inputs, requires an answer.
938
+
939
+ ```
940
+ <p>
941
+ <strong>Home phone number:</strong>
942
+ <input name="home-phone"
943
+ data-validation="number" break=""
944
+ data-validation-optional-if-answered="cell-phone, work-phone" />
945
+ </p>
946
+ <p>
947
+ <strong>Cell phone number:</strong>
948
+ <input name="cell-phone"
949
+ data-validation="number" break=""
950
+ data-validation-optional-if-answered="home-phone, work-phone" />
951
+ </p>
952
+ <p>
953
+ <strong>Work phone number:</strong>
954
+ <input name="work-phone"
955
+ data-validation="number" break=""
956
+ data-validation-optional-if-answered="home-phone, cell-phone" />
957
+ </p>
958
+ </div>
959
+ ```
878
960
879
961
## Changelog
880
962
0 commit comments