मेरा लक्ष्य उपयोगकर्ताओं की संस्कृति के आधार पर क्लाइंट-साइड पर उपयोगकर्ता इनपुट को सत्यापित करना है।वैश्वीकरण के साथ एएसपी.नेट एमवीसी 3 आरसी 2 क्लाइंट साइड सत्यापन
public class User
{
public int UserId { get; set; }
[Required]
[StringLength(20,MinimumLength=3)]
public string Name { get; set; }
[Required]
public double Height { get; set; }
}
इसके अलावा, मैं पता चल सके कि यह एक वैध संख्या है क्लाइंट साइड सत्यापन सक्षम होना चाहते हैं, तो:
मैं निम्नलिखित संरचना के साथ एक आदिम डेटा मॉडल की है। इसलिए, मैंने अपने _Layout.cshtml के <head>
अनुभाग में निम्न पंक्तियां जोड़ दी हैं।
<script src="@Url.Content("~/Scripts/jQuery-1.4.2.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
जब से मैं (इस विशेष संदर्भ में 0,75
की दशमलव संख्या स्वरूप के साथ जर्मन है जबकि अमेरिका में यह 0.75
होगा) किसी अन्य भाषा स्वरूपों में इनपुट को मान्य करने की क्षमता है चाहता हूँ, मैं जोड़ दिया है निम्नलिखित पंक्तियों (jQuery Globalization PlugIn) पहले उल्लिखित jquery.validate.min.js
और jquery.validate.unobtrusive.min.js
के बाद।
<globalization culture="de-DE" uiCulture="de-DE" />
अब मैं निम्नलिखित व्यवहार का सामना कर रहा हूँ:
<script src="@Url.Content("~/Scripts/jquery.glob.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/globinfo/jquery.glob.de-de.js")" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$.culture = jQuery.cultures['de-DE'];
$.preferCulture($.culture.name);
});
</script>
इसके अलावा, मैं तो बस यह सुनिश्चित करें कि जर्मन संस्कृति हमेशा चयन किया जाता है बनाने के लिए system.web
खंड में web.config
में निम्नलिखित पंक्ति जोड़ दिया है :
- अगर मैं (ध्यान दें जर्मन 'वर्तनी')
0,1
में टाइप "ऊंचाई" के मूल्य के लिए पाठ बॉक्स में, मान्यता त्रुटि संदेशThe field Height must be a number
प्रतीत होता है और मैं फॉर्म जमा करने में सक्षम नहीं हूं। - अगर मैं
0.1
में टाइप करें (अंग्रेजी 'वर्तनी'), मैं प्रपत्र लेकिन सर्वर साइड सत्यापन प्रस्तुत कर सकते हैं निम्नलिखित मान्यता त्रुटि संदेश देता है अबThe value '0.1' is not valid for Height.
तो मैं मर ताला जहां किसी तरह का में हूँ मैं बाहर नहीं जा सकता
फिर, मेरा लक्ष्य उपयोगकर्ताओं की संस्कृति के आधार पर क्लाइंट और सर्वर पक्ष पर दशमलव संख्या इनपुट को सत्यापित करना है (इस मामले में इसे जर्मन होने के लिए मजबूर होना पड़ता है)। मैं क्या गलत कर रहा हूं?
किसी भी मदद की अत्यधिक सराहना की जाती है! आपका अग्रिम में ही बहुत धन्यवाद!
आपकी 'if' गलत रूप से' 0' को अमान्य मान के रूप में पहचानती है; 'वापसी का उपयोग करें! isNaN (Globalization.parseFloat (मान)); 'समारोह के शरीर के रूप में। –
क्या आपने प्लगइन निर्माता को सूचित किया था? यदि आप पहले से नहीं कर चुके हैं तो कृपया ऐसा करें। मुझे एसडीई के समान समस्या है लेकिन मैं अनौपचारिक या ओवरराइटिंग विधियों के साथ "हैक" नहीं करना चाहता हूं। – toebens
ठीक है, बस मुझे कोड खोदने का एक टन बचाया - आप एक स्टार हैं, ब्लॉग पोस्ट के लिए बहुत बहुत धन्यवाद और एसओ पर इसे साझा करना! – Dav