मेरे पास एएसपीनेट वेबपृष्ठ पर दो टेक्स्टबॉक्स हैं, या तो एक या दोनों को भरना आवश्यक है। दोनों को खाली नहीं छोड़ा जा सकता है। मैं एएसपीनेट में ऐसा करने के लिए एक वैधकर्ता कैसे बना सकता हूं?दो टेक्स्ट बॉक्स, या तो एक या दोनों की आवश्यकता है
उत्तर
आपको इसे पूरा करने के लिए कस्टम वैलिडेटर की आवश्यकता होगी।
यहां कुछ कोड मूल उपयोग का प्रदर्शन कर रहा है। सबमिट वैधता में IsValid को कॉल करने के बाद कस्टम सत्यापनकर्ता टेक्स्ट दिखाया जाएगा और कुछ टेक्स्ट Response.Write कॉल से प्रदर्शित किए जाएंगे।
ASPX
<asp:TextBox runat="server" ID="tb1" />
<asp:TextBox runat="server" ID="tb2" />
<asp:CustomValidator id="CustomValidator1" runat="server"
OnServerValidate="TextValidate"
Display="Dynamic"
ErrorMessage="One of the text boxes must have valid input.">
</asp:CustomValidator>
<asp:Button runat="server" ID="uxSubmit" Text="Submit" />
कोड के पीछे
protected void Page_Load(object sender, EventArgs e)
{
uxSubmit.Click += new EventHandler(uxSubmit_Click);
}
void uxSubmit_Click(object sender, EventArgs e)
{
Response.Write("Page is " + (Page.IsValid ? "" : "NOT ") + "Valid");
}
protected void TextValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = (tb1.Text.Length > 0 || tb2.Text.Length > 0);
}
एक CustomValidator की कोशिश करो।
आप एक विधि है कि ServerValidate घटना को संभालने के लिए निम्नलिखित करता है बनाने की आवश्यकता होगी:
void ServerValidation (object source, ServerValidateEventArgs args)
{
args.IsValid = TextBox1.Text.Length > 0 || TextBox2.Text.Length > 0;
}
सर्वर साइड सत्यापन पैदा करने के अलावा, आप ClientValidationFunction संपत्ति CustomValidator पर उपयोग कर सकते हैं ग्राहक प्रदान करने के लिए साथ-साथ सत्यापन भी। यही कारण है कि कुछ इस तरह दिख सकता है:
function(sender, args) {
args.IsValid = document.getElementById('<%=TextBox1.ClientID%>').value != ''
|| document.getElementById('<%=TextBox2.ClientID%>').value != '';
}
अपने बटन या जो कुछ भी की Onclientclick इस
function valtxtbox(){
if (document.getElementById('<%=TextBox1.ClientID%>').value== '' && document.getElementById('<%=TextBox2.ClientID%>').value== '')
{
alert('You must enter in data!');
return false;
}
यहां आपको OR के बजाय और स्थिति रखना होगा –
- 1. ए या बी, दोनों नहीं, न तो
- 2. LINQ क्वेरी को या तो एक ही प्रश्न में आरोही या अवरोही की आवश्यकता है
- 3. या तो डिवाइस या होस्ट
- 4. अजवाइन या beanstalkd या दोनों?
- 5. या तो या आवश्यक प्रमाणीकरण
- 6. एमवीसी या आराम या दोनों
- 7. या तो
- 8. लिंक्ड एक एडीटी सूचीबद्ध है या यह एक डेटा संरचना है, या दोनों?
- 9. या तो
- 10. रीढ़ की हड्डी या ext/Sencha स्पर्श या दोनों
- 11. श्रेणियां, टैग या दोनों?
- 12. रेल: format.js या format.json, या दोनों?
- 13. कॉपी या कॉपी ओवरराइड WithZone: या दोनों?
- 14. पीयर समीक्षा या जोड़ी प्रोग्रामिंग, या दोनों?
- 15. क्या आपको नेट 3.5 और 4.0 दोनों स्थापित या सिर्फ .NET 4 की आवश्यकता है?
- 16. हाँ या नहीं की पुष्टि बॉक्स jQuery
- 17. जावाएफएक्स लेबल या टेक्स्ट
- 18. या तो पाइथन या php
- 19. एसएसआरएस टेक्स्ट बॉक्स में खाली या शून्य मूल्य प्रदर्शन
- 20. एक या दो अंकीय अंक रेगेक्स
- 21. अलर्ट या पुष्टि बॉक्स में टेक्स्ट बोल्ड कैसे प्राप्त करें?
- 22. क्या एएसपी.नेट को ActiveX की आवश्यकता है या नहीं?
- 23. चेनिंग विधि या तो
- 24. सी # - एक रिच टेक्स्ट बॉक्स
- 25. क्या मुझे एक Grails असाइन करने की आवश्यकता है दोनों दिशाओं में एक रिश्ता है?
- 26. वेब SQL डेटाबेस या अनुक्रमणिका डेटाबेस API ... या दोनों?
- 27. दो सूची बॉक्स, जावास्क्रिप्ट
- 28. एक कड़ी है कि या तो IOS अनुप्रयोग की शुरूआत बनाएँ, या app की दुकान पर रीडायरेक्ट
- 29. दो या दो से अधिक C++ नामस्थानों को एक
- 30. टेक्स्ट या बाइटस्ट्रिंग
की तरह एक जावास्क्रिप्ट समारोह आप शायद कि args.IsValid = (TextBox1.Text को आसान बनाने में कर सकता है प्रस्तुत अपने पृष्ठ कॉल + TextBox2.Text)। लम्बाई> 0 या ऐसा कुछ। –
@ फ़्रेड्रिक: उसे लंबाई को जोड़ना चाहिए, पाठ स्वयं ही नहीं। यह स्पष्ट बनाता है। हालांकि मुझे लगता है कि लांस का रास्ता अभी भी स्पष्ट है। – Brian
हां, साफ-सफाई के लिए धन्यवाद! –