22

मैं एमवीसी 4 में मॉडल सत्यापन के लिए डेटा एनोटेशन का उपयोग कर रहा हूं और वर्तमान में स्ट्रिंग लम्बाई एट्रिब्यूट का उपयोग कर रहा हूं, हालांकि मैं अधिकतम मान निर्दिष्ट नहीं करना चाहता (वर्तमान में 50 पर सेट) लेकिन न्यूनतम निर्दिष्ट करना चाहते हैं स्ट्रिंग लंबाई मूल्य।डेटाअनोटेशन स्ट्रिंग लम्बाई विशेषता एमवीसी - बिना अधिकतम मूल्य

क्या केवल न्यूनतम लंबाई निर्दिष्ट करने का कोई तरीका है? शायद मैं एक और विशेषता का उपयोग कर सकते हैं?

मेरे वर्तमान कोड है:

[Required] 
    [DataType(DataType.Password)] 
    [Display(Name = "Confirm New Password")] 
    [StringLength(50, MinimumLength = 7)] 
    [CompareAttribute("NewPassword", ErrorMessage = "The New Password and Confirm New Password fields did not match.")] 
    public string ConfirmNewPassword { get; set; } 

किसी भी मदद की बहुत सराहना कर रहा है।

उत्तर

34

क्या केवल न्यूनतम लंबाई निर्दिष्ट करने का कोई तरीका है? शायद एक और विशेषता मैं उपयोग कर सकता हूँ?

मानक डेटा एनोटेशन का उपयोग करके, नहीं। आपको अधिकतम लम्बाई निर्दिष्ट करना होगा। केवल अन्य पैरामीटर वैकल्पिक हैं।

[RegularExpression(@"^(?:.*[a-z]){7,}$", ErrorMessage = "String length must be greater than or equal 7 characters.")] 

इस पर अधिक: की तरह यह एक विशेषता

[StringLength(int.MaxValue, MinimumLength = 7)] 

तुम भी उपयोग कर सकते हैं एक Regex (नियमित अभिव्यक्ति):

इस तरह के एक मामले में, मुझे कुछ इस तरह की सलाह देते हैं यहां: Password Strength Validation with Regular Expressions

+0

धन्यवाद लेनिल। जैसा कि आपने सुझाव दिया है, मैंने स्ट्रिंग लम्बाई को नियंत्रित करने के लिए रेगेक्स का उपयोग करने का सहारा लिया है। – davey1990

1

क्या आपने डेटा एनोटेशन को हटाने और Html में एक HTML विशेषता जोड़ने का विचार किया है। आपके Vie में टेक्स्टबॉक्स डब्ल्यू?

@Html.TextBoxFor(model => model.Full_Name, new { htmlAttributes = new { @class = "form-control", @minlength = "10" } }) 

या

@Html.TextBoxFor(model => model.Full_Name, new { @class = "form-control", @minlength = "10" } }) 

10 न्यूनतम लंबाई आप चुनते जा रहा है:

कुछ ऐसा दिखाई देगा।

मुझे अपने दृश्य में एचटीएमएल विशेषताओं को जोड़ना पसंद है क्योंकि मैं इसके प्रभाव को तुरंत देख सकता हूं। आपके डेटाबेस के साथ गड़बड़ किए बिना और माइग्रेशन (कोड पहला दृष्टिकोण) का उपयोग करते हुए आपको माइग्रेशन और डेटाबेस अपडेट चलाने की आवश्यकता नहीं है।

बस याद रखें कि जब आप टेक्स्टबॉक्स में संपादक को बदलते हैं तो आप अपनी स्टाइल को खो देंगे लेकिन एक आसान फिक्स होना चाहिए, फिर आप केवल अपने दृश्य में शैलियों को जोड़ सकते हैं या अपनी सीएसएस फ़ाइल में स्टाइल जोड़ सकते हैं।

आशा इस मदद करता है :)

संबंधित मुद्दे