2012-08-29 26 views
11

के साथ किसी तत्व के लिए सत्यापन अक्षम करें कुछ रूप जनरेटर द्वारा किसी पृष्ठ पर तत्वों की एक सूची प्रदान की जाती है और उनके सभी के पास सत्यापन होते हैं।jQuery Unobtrusive प्रमाणीकरण

<input type="text" id="email" name="email" data-val-required="No valid email address!" data-val="true"> 

मैं किसी भी तरह सक्षम/इस तरह के एक तत्व के लिए मान्यता निष्क्रिय करने के लिए एक गतिशील रास्ते की जरूरत है: जब मैं HTML स्रोत में देखो, मैं कुछ इस तरह देखते हैं। मैंने इसे data-val विशेषता को false पर सेट करके और फिर true पर सेट करके सक्षम/अक्षम करने का प्रयास किया। लेकिन ऐसा लगता है कि इसका जवाब नहीं दे रहा है। प्रमाणीकरण हमेशा वहाँ है!

किसी को भी कोई विचार है कि मैं गतिशील तरीके से कुछ क्षेत्रों पर सत्यापन कैसे सक्षम/अक्षम कर सकता हूं?

उत्तर

37

मैं वास्तव में एक समाधान है कि मेरी जरूरतों अच्छी तरह फिट पाया। मैं निम्नलिखित कर सकते हैं:

$(function() { 
    var settngs = $.data($('form')[0], 'validator').settings; 
    settngs.ignore = ".ignore"; 
}); 

और उसके साथ मैं कर सकता हूँ 'टॉगल' किसी भी तत्व है कि मैं जोड़ने या एक तत्व से classname ignore को हटाने के द्वारा चाहते हैं।

+1

वास्तव में अच्छा समाधान! :) –

+7

ध्यान दें कि डिफ़ॉल्ट jquery सत्यापन व्यवहार को रखने के लिए आपको 'settings.ignore = ": छुपा, .ignore" रखना चाहिए' व्यक्तिगत रूप से मैं 'को अक्षम करना चाहता हूं' अक्षम ' –

+1

स्रोत: http://weblogs.asp.net /imranbaloch/archive/2011/07/13/overriding-unobtrusive-client-side- validation-settings-in-asp-net-mvc-3.aspx – WolfyUK

13

मुझे लगता है कि इससे मदद मिलेगी।

<div class="editor-field"> 
     @{ Html.EnableClientValidation(false); } 
     @Html.TextBoxFor(m => m.BatchId, new { @class = "k-textbox" }) 
     @{ Html.EnableClientValidation(true); } 
</div> 
+1

यह स्वीकार्य उत्तर होना चाहिए! अन्य – JavierIEH

+0

@JavierIEH से 2 साल अधिक हालिया यह उत्तर नया हो सकता है, और आपके लिए काम किया हो सकता है, लेकिन यह केवल पृष्ठ प्रस्तुत समय पर काम करता है। कोई भी जो फ्लाई क्लाइंट पक्ष पर मान्यताओं को सक्षम/अक्षम करना चाहता है, उसे अभी भी पहले के जवाब का उपयोग करने की आवश्यकता होगी। – mikeschuld

+0

उपयोगकर्ता के पास समस्या के आधार पर अच्छा जवाब भिन्न हो सकता है –