2013-03-16 11 views
6

काम नहीं कर रहा है मैं extension का उपयोग कर मौजूदा jQuery सत्यापन स्क्रिप्ट पर नीचे नियम जोड़ रहा हूं, लेकिन यह स्निपेट इसे तोड़ने का कारण बनता है और मान्य नहीं करता है। मैंने पहले और बाद में कॉमा के हर संभव संयोजन की कोशिश की है, और मैंने accept विधि का उपयोग मिमिटेप्स के साथ करने का भी प्रयास किया है, लेकिन अब तक कुछ भी काम नहीं किया है। अगर मैं इस स्निपेट (और इससे पहले लाइन पर टिप्पणी) पर टिप्पणी करता हूं, तो कोड पूरी तरह से काम करता है, लेकिन इसे जोड़ने से इसे तोड़ने का कारण बनता है।jQuery सत्यापन विस्तार विधि

Here's a jsFiddle कोड के साथ-साथ (काम नहीं करता), और here's one स्निपेट को छोड़कर बिल्कुल उसी कोड के साथ टिप्पणी की गई है (ठीक काम करता है)।

टुकड़ा ही:

form1upload: { 
    extension: "jpg|jpeg|pdf|doc|docx|png" 
} 

पूर्ण कोड:

jQuery(document).ready(function() { 
    jQuery("#grantapp").validate({ 
     errorClass:"errorlabels", 
     rules: { 
      form1name: "required", 
      form1building: "required", 
      form1position: "required", 
      form1phonex: "required", 
      form1besttime: "required", 
      form1projtitle: "required", 
      form1benefit: "required", 
      form1timeframe: "required", 
      form1relevance: "required", 
      form1description: "required", 
      form1amount: "required", 
      form1acceptchk: "required", 
      form1upload: { 
       extension: "jpg|jpeg|pdf|doc|docx|png" 
      } 
     }, 
     messages: { 
      form1name: "You must enter your name.", 
      form1building: "You must enter your building.", 
      form1position: "You must enter your position.", 
      form1phonex: "You must enter your phone extension.", 
      form1besttime: "You must enter the best time to contact you.", 
      form1projtitle: "You must give your project a title.", 
      form1benefit: "You must enter the number of students who will benefit.", 
      form1timeframe: "You must enter a time frame for this project.", 
      form1relevance: "<br />You must state how this project is relevant to education.", 
      form1description: "<br />You must provide a description of your project.", 
      form1amount: "You must enter a requested amount.", 
      form1acceptchk: "<span style=\"position:relative;top:-10px;\">You must accept the terms.</span>", 
      form1upload: "You may not upload this type of file." 
     }, 
     errorPlacement: function (error, element) { 
      if (element.attr("name") == "form1acceptchk") { 
       error.insertAfter("#tbl1"); 
      } else { 
       error.insertAfter(element); 
      } 
     } 
    }); 
}); 
+0

वाक्य रचना मेरे लिए सही लग रहा है। –

+0

यही मैंने सोचा था। मैंने इसे बार-बार जांच लिया है और यह मेरे लिए अच्छा लग रहा है। विशिष्ट एक्सटेंशन अनुभाग भी सही दिखता है, [दस्तावेज़ों के अनुसार] (http://docs.jquery.com/Plugins/Validation/CustomMethods/extension#extension)। – vaindil

+0

प्लगइन के कई संस्करणों के साथ परीक्षण किया गया और यह वास्तव में टूटा हुआ लगता है http://jsfiddle.net/ult_combo/4jMHZ/ –

उत्तर

15

ऐसा इसलिए है क्योंकि the extension rule/method jQuery मान्य प्लगइन डिफ़ॉल्ट रूप से का हिस्सा नहीं है।

यदि आप extension नियम का उपयोग करना चाहते हैं तो आपको jQuery सत्यापन प्लगइन का additional-methods.js file शामिल करना होगा।

अब यह काम कर रहा है ...

http://jsfiddle.net/tMRer/

+0

यह नहीं पता था कि यह भी एक चीज थी। आपके सहयोग के लिए धन्यवाद! – vaindil

+0

नोट: लाइब्रेरी को तब से अपडेट कर दिया गया है और अतिरिक्त-विधियों .js को विभाजित किया गया है। Extension.js फ़ाइल की तलाश करें। – Marcel

+0

@ मार्सल, [आप इसे कहां देखते हैं?] (Https://jqueryvalidation.org) मुझे लगता है कि आप इस तथ्य को भ्रमित कर सकते हैं कि डेवलपर भी गिटहब पर अलग-अलग फाइलों के रूप में उपलब्ध सभी विधियों को बनाता है। अन्यथा, ['एक्सटेंशन' अभी भी 'अतिरिक्त-विधियों। Js' फ़ाइल का हिस्सा है] (https://cdn.jsdelivr.net/npm/[email protected]/dist/additional-methods.js)। – Sparky

संबंधित मुद्दे