मेरे ऐप के भीतर मेरे पास एक फॉर्म है जो उपयोगकर्ता से महीने और साल के लिए पूछता है। ये वर्तमान में int?
होने के लिए सेटअप हैं, लेकिन जब कोई उपयोगकर्ता इनपुट टेक्स्ट फ़ील्ड में कोई नहीं दर्ज करता है, तो यह 'मान 'सात' महीने के लिए मान्य नहीं है का डिफ़ॉल्ट त्रुटि संदेश फेंकता है।
क्या कोई ऐसा तरीका है जिससे मैं इसे अपनी पसंद की सामग्री के रूप में अनुकूलित कर सकूं?
विचाराधीन क्षेत्र हैं
public int? VisitMonth { get; set; }
public int? VisitYear { get; set; }
मैं मान को मान्य करने के लिए [रेंज ()] का उपयोग कर रहा हूं 1-12 है जब वे एक int दर्ज करते हैं जो अपेक्षित काम करता है।
2 जवाब
हां, बस int?
के बजाय string
का उपयोग करें और एक नियमित अभिव्यक्ति बनाएं (अपनी संपत्ति के लिए RegularExpression
विशेषता का उपयोग करें) जो 1-12 के बीच शब्दों और संख्याओं को स्वीकार करता है (जैसा कि आपकी सीमा में है)। सर्वर साइड पर, Int32.TryParse
के साथ पार्स करने का प्रयास करें। यदि पार्स सफल होता है तो आपके पास एक संख्यात्मक मान होता है, अन्यथा यह केवल एक स्ट्रिंग है।
आप ErrorMessage प्रॉपर्टी का उपयोग करके सत्यापन त्रुटि संदेश को ओवरराइड कर सकते हैं। नीचे के रूप में कोड:
[Required(ErrorMessage = "Please enter a valid Month")]
[Range(1,12,ErrorMessage ="Entered Month is inValid")]
public int? VisitMonth { get; set; }
[Required(ErrorMessage ="Please enter a valid Year")]
[Range(1, 12, ErrorMessage = "Entered Year is inValid")]
public int? VisitYear { get; set; }
उत्पादन:
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।