मैं अपने मॉडल ऑब्जेक्ट्स को सत्यापित करने के लिए System.ComponontModel.DataAnnotations का उपयोग कर रहा हूं। मैं संदेश मानक गुणों (आवश्यक और स्ट्रिंग लम्बाई) उत्पादन को कैसे प्रतिस्थापित कर सकता हूं, उनमें से प्रत्येक को त्रुटि संदेश प्रदान करने या उन्हें उप-वर्गीकृत करने के बिना?मानक डेटा एन्नेशन त्रुटि संदेशों को कैसे बदलें
उत्तर
नई पोस्ट लिखना क्योंकि मुझे टिप्पणियों की तुलना में अधिक स्वरूपण की आवश्यकता है।
पर देखें सत्यापन प्रमाणीकरण - सत्यापन गुणों का आधार वर्ग।
तो मान्यता त्रुटि हो गई, त्रुटि संदेश विधि द्वारा बनाया जाएगा: संपत्ति ErrorMessageString पर
public virtual string FormatErrorMessage(string name)
{
return string.Format(CultureInfo.CurrentCulture, this.ErrorMessageString, new object[] { name });
}
अगला देखो:
:protected string ErrorMessageString
{
get
{
if (this._resourceModeAccessorIncomplete)
{
throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture, DataAnnotationsResources.ValidationAttribute_NeedBothResourceTypeAndResourceName, new object[0]));
}
return this.ResourceAccessor();
}
}
संपत्ति ResourceAccessor से setted किया जा सकता है
ValidationAttribute..ctor(Func<String>)
ValidationAttribute.set_ErrorMessage(String) : Void
ValidationAttribute.SetResourceAccessorByPropertyLookup() : Void
इसका पहला उपयोग संदेशों को प्रारूपित करने के लिए बिल्कुल संरक्षित वर्गों द्वारा किया जाता है, दूसरा - जब हम त्रुटि संदेश गड़बड़ त्रुटि संदेश संपत्ति सेट करते हैं, और तीसरा - संसाधन संसाधनों का उपयोग करते समय। आपकी स्थिति के आधार पर, आप त्रुटि मैसेज रिसोर्सनाम का उपयोग कर सकते हैं।
कहीं और चलो हमारे उदाहरण के लिए, व्युत्पन्न कंस्ट्रक्टर्स को देखो, रेंज विशेषता:
internal static string RangeAttribute_ValidationError
{
get
{
return ResourceManager.GetString("RangeAttribute_ValidationError", resourceCulture);
}
}
तो तुम अलग टैन के लिए संसाधन फ़ाइल बना सकते हैं:
private RangeAttribute()
: base((Func<string>) (() => DataAnnotationsResources.RangeAttribute_ValidationError))
{
}
यहाँ RangeAttribute_ValidationError संसाधन से भरी हुई है डिफ़ॉल्ट संस्कृति और संदेशों को ओवरराइट करें, इस तरह:
http://www.codeproject.com/KB/aspnet/SatelliteAssemblies.aspx
http://msdn.microsoft.com/en-us/library/aa645513(VS.71).aspx
आप सभी DataAnnotations प्रमाणकों के लिए आधार वर्ग ValidationAttribute की त्रुटिसंदेश संपत्ति का उपयोग कर सकते हैं।
उदाहरण के लिए:
[Range(0, 100, ErrorMessage = "Value for {0} must be between {1} and {2}")]
public int id;
शायद यह मदद करेंगे।
सच। लेकिन क्या एक बार में डिफ़ॉल्ट संदेश को प्रतिस्थापित करने का कोई तरीका है? –
@ फ़िट्जच्यित्ट्जाकी क्या आपने कभी इसे हासिल किया था? –
- 1. त्रुटि संदेशों को कैसे बाहरी करें
- 2. त्रुटि संदेशों को कैसे निकालें - IIS7
- 3. सी मानक लाइब्रेरी फ़ंक्शन को कैसे बदलें?
- 4. Symfony2 फॉर्म त्रुटि संदेशों को कस्टमाइज़ करें
- 5. डिफ़ॉल्ट रेल त्रुटि त्रुटि को कैसे बदलें "field_with_errors"
- 6. सी ++ टेम्पलेट त्रुटि संदेशों को समझना
- 7. सफलता संदेशों राज्य त्रुटि संदेश
- 8. लुआ त्रुटि संदेशों में सुधार
- 9. रूबी धागे से त्रुटि संदेशों को कैसे प्राप्त करें
- 10. वेबड्राइवर एपीआई: वर्बोज़ त्रुटि संदेशों को कैसे अक्षम करें?
- 11. कोडिंग विंडो में त्रुटि संदेशों को कैसे निकालें?
- 12. Grails नियंत्रकों के बीच त्रुटि संदेशों को कैसे पास करें?
- 13. h: commandLink की मानक href = "#" विशेषता को कैसे बदलें?
- 14. डेटाटेबल में डेटा कॉलम के डेटा टाइप को कैसे बदलें?
- 15. बदलें डेटा फ्रेम dict को
- 16. त्रुटि संदेशों को प्रदर्शित करने के लिए सर्वोत्तम अभ्यास
- 17. गिट में प्रतिबद्ध संदेशों का नाम कैसे बदलें?
- 18. मानक के अनुसार डेटा
- 19. log4j SMTPAppender - एकाधिक त्रुटि संदेशों को ईमेल करें
- 20. log4j: दोहराव वाले लॉग संदेशों को रोकने के लिए मानक तरीका?
- 21. कस्टम authlogic त्रुटि संदेशों का उपयोग
- 22. डेटा फ्रेम में कॉलम मान कैसे बदलें?
- 23. PHP उत्पादन सर्वर - त्रुटि संदेशों को चालू करें
- 24. विस्तृत अपवाद/त्रुटि संदेशों को सुरक्षा जोखिम है?
- 25. किसी विधि में ज्ञात त्रुटियों और त्रुटि संदेशों को संभालना
- 26. लॉग फ़ाइल में संदिग्ध त्रुटि संदेशों को देखने के बाद
- 27. त्रुटि संदेशों को संभालने का सबसे अच्छा तरीका
- 28. PHP नाम बदलें() त्रुटि
- 29. सी # डेटाटेबल में डेटा कैसे बदलें?
- 30. एंड्रॉइड जीसीएम संदेशों को
बहुत बहुत धन्यवाद Veton। आपके द्वारा वर्णित अंतिम भाग में मैंने पूरी तरह से याद किया है। –
मैं समझ नहीं पा रहा हूं कि संसाधन फ़ाइलों को डेटाएनोटेशन.dll से संसाधन प्रबंधक को ओवरराइड करने के लिए कैसे नामित किया जाना चाहिए (और कहां रखा गया)। – wRAR