2010-04-22 14 views
5

में आवश्यक फ़ील्ड वैलिडेटर को अक्षम कैसे करें मेरे पास मेरे पृष्ठ पर आवश्यक फ़ील्ड वैलिडेटर के साथ टेक्स्टबॉक्स है। मेरे पास लिंक भी है जो कुछ सरल जावास्क्रिप्ट को कॉल करता है।स्क्रिप्ट

<asp:TextBox ID="TextBox1" runat="server" /> 
<asp:RequiredFieldValidator 
ID="RequiredFieldValidator4" runat="server" ControlToValidate="TextBox1" 
Display="Dynamic" /> 
<asp:LinkButton ID="Link1" runat="server" OnClientClick="DoSomething(); return false;" CausesValidation="false"Text="Do" /> 

function DoSomething() { 
textbox1.val("blah"); } 

जब उपयोगकर्ता टेक्स्टबॉक्स में कुछ टाइप करते हैं और फिर उस पाठ को हटाते हैं और अगले नियंत्रण पर ध्यान केंद्रित करते हैं - तो सत्यापनकर्ता आग लगती है। फिर उपयोगकर्ता लिंक का उपयोग कर सकते हैं जो जावास्क्रिप्ट का उपयोग करके टेक्स्ट जोड़ता है। टेक्स्टबॉक्स 1 टेक्स्ट अब खाली नहीं है लेकिन आवश्यक फ़ील्ड वैलिडेटर अभी भी त्रुटि संदेश दिखाता है। इसे कैसे रोकें?

उत्तर

0

प्रमाणकों के पूरे मुद्दे है कि वे दोनों सर्वर साइड और ग्राहक साइड सत्यापन के लिए इस्तेमाल किया जाना है।

यदि आप केवल सर्वर पक्ष पर मान्य करना चाहते हैं, तो सत्यापनकर्ता का उपयोग न करें और केवल यह जांचें कि मान मान्य हैं और एक त्रुटि रिपोर्ट करें।

+0

मैं क्लाइंट-साइड होने के सत्यापन को चाहता हूं। देखो कि DoSomething() टेक्स्टबॉक्स 1 में टेक्स्ट जोड़ें लेकिन प्रमाणीकरण त्रुटि अभी भी त्रुटि संदेश प्रदर्शित करती है और उपयोगकर्ता को भ्रमित करती है। – jlp

6

आप जावास्क्रिप्ट ValidatorEnable समारोह

ValidatorEnable(document.getElementById('<%= ValidatorID.ClientID %>'), true); 
1

उपयोग कर सकते हैं मैं एक CustomValidator यहाँ की सिफारिश करेंगे जब से तुम सामान्य RequiredFieldValidator व्यवहार नहीं करना चाहती। CustomValidator क्लाइंट विधि केवल पोस्टबैक पर ही चलती है।