2010-02-05 15 views
5

के रूप में उपयोग किए जाने पर बूल वैल्यू प्रकार के लिए आवश्यक विशेषता मैं एक समस्या में भाग रहा हूं जहां मेरे पास एक साधारण ऐड/एडिट फॉर्म है और क्लाइंट-साइड सत्यापन (jQuery/MicrosoftMvcJQueryValidation.js) का उपयोग कर डेटा एनोटेशन और सक्षम से उत्पन्न होता है मेरे विचार में निम्नलिखित को फोन करके ग्राहक के पक्ष:चेकबॉक्स

<% Html.EnableClientValidation(); %> 

यह सबसे तत्वों के लिए ठीक से काम करने लगता है, हालांकि मैं एक उदाहरण है जहाँ मैं एक बूलियन संपत्ति जो का उपयोग कर एक चेकबॉक्स के रूप में प्रदान की गई है है है:

<%= Html.EditorFor(model => model.Chargeable)%> 

जो या तो सच/गलत हो सकता है (ticked/unticked)।

चूंकि बूल एक मान प्रकार है, और नामुमकिन नहीं है, इसलिए इसे एक आवश्यक संपत्ति के रूप में प्रस्तुत किया जा रहा है और जब एक फॉर्म (चार्ज करने योग्य फ़ील्ड आवश्यक है। "पढ़ने के बाद फॉर्म में एक त्रुटि (क्लाइंट साइड) प्रदर्शित होती है, हालांकि, जेनरेट किया गया HTML दो भाग (चेकबॉक्स और छुपा मूल्य दोनों) है, यह पोस्ट बैक सत्यापन पास करेगा।

किसी भी विचार या सुझाव
DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false; 

कोई एक किसी और मिल गया:

MVC 2 स्रोत कोड ब्राउज़ कर के बाद, मैं डाल करने के लिए एक "त्वरित और गंदी" पल है, जो निर्धारित करने के लिए है के लिए में ठीक प्रबंधित किया है मैं इस पर कैसे हो सकता है?

आईएमओ, मुझे नहीं लगता कि एमवीसी को HTML -EditorFor/Html.CheckBox (For) विधियों का उपयोग करके प्रदान किए गए चेकबॉक्स के लिए क्लाइंट-साइड आवश्यक सत्यापनकर्ता सेट करना चाहिए।

नोट: मैं एमवीसी फ्यूचर्स रिलीज से एएसपी.नेट एमवीसी 2 आरसी 2 और माइक्रोसॉफ्टएमवीसीजेक्वायर वैलिडेशन.जेएस का उपयोग कर रहा हूं।

उत्तर

5

मुझे लगता है से निपटने के लिए सबसे आसान तरीका यह नियम कॉल करने के लिए है ("निकालें", [नियम]) तत्वों (मुख्य रूप से चेक बॉक्स) है कि मैं से क्लाइंट साइड सत्यापन निकालना चाहते हैं पर समारोह:

<script type="text/javascript"> 
    $(document).ready(function() { 
    $('#Chargeable').rules('remove', 'required'); 
    }); 
</script> 
संबंधित मुद्दे