कस्टम नियम और डेटा विशेषता
आप एक कस्टम नियम बनाने में सक्षम हैं और इसे data
सिंटैक्स का उपयोग करके विशेषता के साथ एक तत्व में संलग्न कर सकते हैंdata-rule-rulename="true";
यह जाँचने के लिए कि क्या चेकबॉक्स के कम से कम एक समूह की जाँच की गई है:
डेटा नियम-oneormorechecked
<input type="checkbox" name="colours[]" value="red" data-rule-oneormorechecked="true" />
addMethod
$.validator.addMethod("oneormorechecked", function(value, element) {
return $('input[name="' + element.name + '"]:checked').length > 0;
}, "Atleast 1 must be selected");
और आप सिंटैक्स का उपयोग करके एक नियम (यानी: कम से कम 1 का चयन किया जाना चाहिए) के संदेश को ओवरराइड कर सकते हैं data-msg-rulename="my new message"
।
ध्यान दें
यदि आप data-rule-rulename
विधि का उपयोग करते हैं तो आपको यह सुनिश्चित करने की आवश्यकता होगी कि नियम का नाम सभी लोअरकेस है। ऐसा इसलिए है क्योंकि jQuery सत्यापन फ़ंक्शन तुलना करने के लिए dataRules
लागू होता .toLowerCase()
है और HTML5 कल्पना अपरकेस को अनुमति नहीं देता है।
काम करने का उदाहरण
$.validator.addMethod("oneormorechecked", function(value, element) {
return $('input[name="' + element.name + '"]:checked').length > 0;
}, "Atleast 1 must be selected");
$('.validate').validate();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.14.0/jquery.validate.min.js"></script>
<form class="validate">
red<input type="checkbox" name="colours[]" value="red" data-rule-oneormorechecked="true" data-msg-oneormorechecked="Check one or more!" /><br/>
blue<input type="checkbox" name="colours[]" value="blue" /><br/>
green<input type="checkbox" name="colours[]" value="green" /><br/>
<input type="submit" value="submit"/>
</form>