मेरे पास कई फ़ील्ड्स के साथ एक फॉर्म है जिसे मैं मान्य कर रहा हूं (कुछ कस्टम सत्यापन के लिए जोड़े गए तरीकों के साथ) Jörn Zaeffere के उत्कृष्ट jQuery मान्यकरण प्लगइन के साथ। आप निर्दिष्ट सबमिट नियंत्रणों के साथ सत्यापन को कैसे दरकिनार करते हैं (दूसरे शब्दों में, कुछ सबमिट इनपुट के साथ आग सत्यापन, लेकिन दूसरों के साथ सत्यापन को आग न दें)? यह मानक ASP.NET सत्यापनकर्ता नियंत्रण के साथ सत्यापन समूहों के समान होगा।
मेरी स्थिति:
यह ASP.NET WebForms के साथ है, लेकिन आप चाहें तो इसे अनदेखा कर सकते हैं। हालाँकि, मैं सत्यापन का उपयोग "अनुशंसा" के रूप में अधिक कर रहा हूं: दूसरे शब्दों में, जब फ़ॉर्म सबमिट किया जाता है, तो सत्यापन में आग लग जाती है, लेकिन "आवश्यक" संदेश प्रदर्शित करने के बजाय, "अनुशंसा" से पता चलता है कि "आप" की रेखा के साथ कुछ कहता है निम्नलिखित क्षेत्रों को याद किया .... क्या आप आगे बढ़ना चाहते हैं? " उस बिंदु पर त्रुटि कंटेनर में अब एक और सबमिट बटन दिखाई देता है जिसे दबाया जा सकता है जो सत्यापन को अनदेखा करेगा और वैसे भी सबमिट करेगा। इस बटन नियंत्रण और अभी भी पोस्ट के लिए रूपों .validate () को कैसे दरकिनार करें?
Http://jquery.bassistance.de/validate/demo/mipart// पर घर का नमूना खरीदें और बेचें लिए पिछले लिंक को हिट करने की अनुमति देता है, लेकिन यह कस्टम तरीकों को बनाने और सत्यापनकर्ता में जोड़ने के माध्यम से ऐसा करता है। मैं मान्यकरण प्लगइन में पहले से ही कार्यक्षमता को डुप्लिकेट करने के लिए कस्टम तरीके नहीं बनाना पसंद करूंगा।
निम्नलिखित तुरंत लागू स्क्रिप्ट का छोटा संस्करण है जिसे मैंने अभी प्राप्त किया है:
var container = $("#<%= Form.ClientID %> div.validationSuggestion");
$('#<%= Form.ClientID %>').validate({
errorContainer: container,
errorLabelContainer: $("ul",container),
rules: {
<%= YesNo.UniqueID %>: { required: true },
<%= ShortText.UniqueID %>: { required: true } // etc.
},
messages: {
<%= YesNo.UniqueID %>: 'A message.',
<%= ShortText.UniqueID %>: 'Another message.' // etc.
},
highlight: function(element, errorClass) {
$(element).addClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").addClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").removeClass("valid");
},
unhighlight: function(element, errorClass) {
$(element).removeClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").removeClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").addClass("valid");
},
wrapper: 'li'
});