2012-11-16 10 views
29

एमवीसी 4 टेम्पलेट में डेटा एनोटेशन गुणों में से एक स्ट्रिंगलाइट होता है।स्ट्रिंगलाइथ विशेषता त्रुटिपूर्णता क्या पैरामीटर लेती है?

उदाहरण के लिए:

[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] 

क्या पैरामीटर {0}, {1}, {2} कानूनी रहे हैं (अधिक?)?

संपादित करें: अधिक विशिष्ट होने के लिए, मैं उदाहरण और परीक्षण से देख सकता हूं और संभावनाएं क्या हैं, लेकिन मैं कुछ कठिन दस्तावेज देखना चाहता हूं।

मुझे StringLengthAttribute documentation में इसके बारे में कुछ भी नहीं मिला।

उत्तर

41

{0} सूचकांक, संपत्ति का प्रदर्शन नाम है {1}MaximumLength है, {2}MinimumLength है। तो, अपने त्रुटि संदेश स्वरूप के रूप में "The Foo must be at least 6 characters long."

+20

हाँ, अच्छी तरह से मुझे लगता है मैं क्या वास्तव में पूछ रहा हूँ है, मैं परीक्षण और त्रुटि के अलावा, यह कैसे जान सकता हूं। क्या यह स्ट्रिंग लम्बाई एट्रिब्यूट क्लास में [FormatErrorMessage] (http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.stringlengthattribute.formaterrormessage%28v=vs.110%29.aspx) में ही लागू किया गया है) तरीका? क्या यह दस्तावेज है? –

+2

क्या होगा यदि 'न्यूनतम लम्बाई 'निर्दिष्ट नहीं किया गया था? और यदि क्या होगा तो यह केवल एकमात्र संपत्ति है जिसे सेट किया गया था जबकि 'अधिकतम लम्बाई' शून्य है? – Shimmy

+1

कोई यह जानकारी कहां ढूंढता है? – Lopsided

12

मैं किसी भी प्रलेखन या तो नहीं देखा है होगा, लेकिन StringLengthAttribute के लिए FormatErrorMessage विधि इस प्रकार है:

public override string FormatErrorMessage(string name) 
{ 
    EnsureLegalLengths(); 
    string format = ((this.MinimumLength != 0) && !base.CustomErrorMessageSet) ? DataAnnotationsResources.StringLengthAttribute_ValidationErrorIncludingMinimum : base.ErrorMessageString; 
    return String.Format(CultureInfo.CurrentCulture, format, new object[] { name, MaximumLength, MinimumLength }); 
} 
संबंधित मुद्दे