5

मान्य नहीं करता है, मैं विशिष्ट टेक्स्ट के लिए टेक्स्टबॉक्स को सत्यापित करना चाहता हूं और यह खाली नहीं होना चाहिए। लेकिन नियमित अभिव्यक्ति सत्यापनकर्ता मान्य नहीं है अगर टेक्स्ट बॉक्स BLANK है। हालांकि, यह मान्य करता है अगर मैं टेक्स्ट बॉक्स में कुछ टाइप करता हूं।नियमित अभिव्यक्ति सत्यापनकर्ता खाली टेक्स्टबॉक्स

टेक्स्ट बॉक्स खाली होने पर भी मैं ट्रिगर करने के लिए नियमित अभिव्यक्ति कैसे कर सकता हूं?

क्या मुझे एक ही समय में आवश्यक वैलिडेटर + रेगेक्स वैलिडेटर का उपयोग करना चाहिए? धन्यवाद।

<asp:TextBox ID="txtcard" runat="server" MaxLength="16"></asp:TextBox> 

<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" 
ControlToValidate="txtcard" ErrorMessage="Please type credit card no" 
ValidationExpression="^\d{16}$"></asp:RegularExpressionValidator> 

उत्तर

3

मैं आम तौर पर सुझाव देता हूं और आपके पास एक आवश्यक सत्यापनकर्ता भी होता है। यह आपको प्रत्येक नियम के लिए एक अलग संदेश रखने की अनुमति देगा।

एक अन्य विकल्प जिसे मैं किसी भी वेब डेवलपर को देखने की अनुशंसा करता हूं वह JQuery सत्यापन प्लगइन है। यदि आप इसे फ्लुएंट सत्यापन के साथ जोड़ते हैं, तो आप अपने सभी व्यावसायिक ऑब्जेक्ट्स को एक ही स्थान पर अपने सभी सत्यापन नियमों को रख सकते हैं और आप क्लाइंट पक्ष और सर्वर पर उन नियमों का उपयोग करके मान्य कर सकते हैं।

JQuery Validation

Fluent Validation

3

आपको एक ही समय में दोनों का उपयोग करना चाहिए। यदि मान खाली है तो एएसपी.NET सत्यापन नियंत्रण के साथ सामान्य है तो सत्यापन सत्यापन वापस नहीं कर रहा है। आप System.ComponentModel.DataAnnotations नामस्थान में प्रमाणीकरण विशेषताओं से वही व्यवहार देखेंगे।

+0

+1। आप इसे कस्टम डेटा एन्नोटेशन वैलिडेटर के साथ प्राप्त कर सकते हैं। मैंने एक लिखा है, लेकिन इसे मूल वस्तु से विरासत की आवश्यकता है। यह बहुत उपयोगी है: http://bit.ly/bcwher यह आपको गुणों में किसी भी प्रकार की प्रमाणीकरण एट्रिब्यूट जोड़ने की अनुमति देता है और पहला त्रुटि संदेश प्रदर्शित करता है जो सत्यापन विफल होने का कारण बनता है (जैसा कि एकाधिक एएसपी वैधकर्ता होगा) –

4

आप अपने RegularExpressionValidator एक RequiredFieldValidator के साथ गठबंधन करना चाहिए।

यदि विफल हो जाता है तो यह सत्यापन फायरिंग के कारण अवरुद्ध होगा। प्रत्येक व्यक्ति एक उद्देश्य प्रदान करता है और RegularExpressionValidator का उद्देश्य टेक्स्ट की कमी की वजह से दर्ज टेक्स्ट को सत्यापित करना है।

यदि आप इसे सभी एक वैधकर्ता में करना चाहते हैं तो आप CustomValidator का उपयोग कर सकते हैं और ValidateEmptyText='true' सेट कर सकते हैं। फिर आप जांच करने के लिए जावास्क्रिप्ट regex का उपयोग कर सकते हैं। मैं दो वैधकर्ताओं की सिफारिश करता हूं क्योंकि यह एक मानक दृष्टिकोण है।

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