डैरिन दिमित्रोव का जवाब केवल जब तक अजाक्स सफलता हैंडलर कहा जाता है जब jquery validate plugin
की validate()
बुलाया नहीं किया गया है काम करता है। मैं ऐसे परिदृश्य के बारे में नहीं सोच सकता जहां यह मामला हो सकता है, इस प्रकार मुझे आश्चर्य है कि जवाब सही क्यों स्वीकार किया गया था।
मुद्दा यह है कि validate()
निम्न पंक्ति पहले
// Check if a validator for this form was already created
var validator = $.data(this[ 0 ], "validator");
if (validator) {
return validator;
जिसका अर्थ है कि सत्यापनकर्ता वस्तु है निष्पादित करता है:
शायद अतीत में वें jQuery मान्य कोड में बदलाव अब निम्न समस्या का कारण मान्य होने पर लौटाया जाता है() को पास किए गए विकल्पों के बिना और आगे संभालने के लिए बुलाया जाता है।
यह भी मतलब है $.validator.unobtrusive.parse(...)
या $.validator.unobtrusive.parseElement(...)
करने के लिए एक बाद में कॉल जो सत्यापनकर्ता के विकल्पों को अपडेट करना एक
$form.validate(this.options) <- this.options holds the new rules parsed from HTML
कार्यान्वित कोई प्रभाव नहीं है कि क्योंकि विकल्प बिल्कुल संसाधित नहीं कर रहे हैं।
यहाँ समाधान मैन्युअल रूप से की तरह
var $htmlCode = $("your html");
$.validator.unobtrusive.parse($htmlCode, true); // true means no validate() call
// now get the validation info collected in parse()
var validationInfo = $form.data("unobtrusiveValidation");
var $validator = $form.validate(); // get validator and ...
$validator.settings.rules = validationInfo.options.rules; // ... update its rules
$validator.settings.messages = validationInfo.options.messages; // ... update its messages
प्रपत्र (जैसे सबमिट करें क्लिक) Revalidating अब अपेक्षित परिणाम में परिणाम चाहिए सत्यापनकर्ता अद्यतन करने के लिए है।
-
एक तरफ ध्यान दें के रूप में, मैन्युअल सत्यापनकर्ता को अद्यतन करने की तरह
$yourHtmlField.rules("add", {
required: true,
messages: {
required: "Required input"
}
});
rules()
विधि का उपयोग कर के रूप में इस सीधे विनीत सामान के बिना सत्यापनकर्ता के नियमों को अद्यतन करता द्वारा भी संभव है। लेकिन फिर डेटा-वैल विशेषताओं को बेकार प्रदान किया जाता है।
धन्यवाद यह काम करता है .. लेकिन मुझे आपकी नई समस्या है क्या आप मेरी मदद कर सकते हैं? मैं प्रश्न अपडेट करता हूं। –
@ साशा, आपके दूसरे रूप में आपको सबमिट बटन के अलावा अन्य इनपुट फ़ील्ड शामिल नहीं करना प्रतीत होता है। तो आप नहीं हैं फॉर्म सबमिट होने पर सर्वर को कुछ भी भेजना। –
मेरे पास इनपुट है लेकिन मैंने प्रश्न में नहीं दिखाया ... –