2013-06-28 8 views
5

पर गोलीबारी नहीं कर रहा है मुझे एहसास है कि बहुत सी समान पोस्ट हैं, हालांकि मुझे ऐसा नहीं मिला है जो दुर्भाग्य से मेरे लिए काम करता है। असल में, मेरे पास एक एएसपी है: customvalidator कि मैं अन्य सत्यापनकर्ताओं के साथ एक सत्यापन समूह में जोड़ने की कोशिश कर रहा हूं ताकि सभी त्रुटि संदेश एक ही चेतावनी में दिखाई दें। यहाँ CustomValidatorकस्टम वैलिडेटर

<asp:TextBox runat="server" ID="txtVideo1Url" Columns="20" Width="98%" /> 
<asp:CustomValidator runat="server" ID="valURL1" ControlToValidate="txtVideo1Url" OnServerValidate="txtVideo1Url_ServerValidate" Display="None" ValidationGroup="submission" /> 

है और यहाँ घटना

protected void txtVideo1Url_ServerValidate(object sender, ServerValidateEventArgs e) 
    { 
     e.IsValid = false; 
     valURL1.Text = "FAIL!"; 
    } 

घटना सब पर गोली नहीं है और मैं पता नहीं क्यों है। एक बार जब मैं घटना फायरिंग प्राप्त कर सकता हूं तो मैं इसमें कुछ वास्तविक तर्क डाल सकता हूं,

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

+2

आपके 'अद्यतन' का उत्तर यह है कि 'कस्टम वैलिडेटर' सख्ती से सर्वर-साइड सत्यापन तंत्र है, जबकि 'संदेशबॉक्स' क्षमता क्लाइंट-साइड तंत्र है, इस प्रकार 'कस्टम वैलिडेटर' संदेश को बहुत देर हो चुकी है 'संदेशबॉक्स'। प्रतिक्रिया के लिए –

उत्तर

6

आप इस तरह, true को TextBox की CausesValidation संपत्ति निर्धारित करने की आवश्यकता:

<asp:TextBox runat="server" ID="txtVideo1Url" Columns="20" Width="98%" CausesValidation="true" /> 
+0

धन्यवाद। मैंने अभी टेक्स्टबॉक्स में CausesValidation = "true" जोड़ा है और यह अभी भी –

+2

को ट्रिगर नहीं कर रहा है जैसा कि अन्य उत्तर कहता है (Ilkka) 'सत्यापन समूह' विशेषता समस्या है, या तो इसे हटा दें या इसे उस नियंत्रण में जोड़ें जो पोस्टबैक करता है। –

1

आप ASP.NET नियंत्रण पोस्टबैक को सक्रिय कर देगा करने के लिए ValidationGroup = "प्रस्तुत" जोड़ने के लिए होगा।

17

CustomValidator पर इस संपत्ति सेट करने के लिए याद रखें ...

ValidateEmptyText="True" 
+0

यह मेरे लिए टेक्स्टबॉक्स पर कारणों को स्पष्ट रूप से सेट किए बिना काम करता है। – Andez

+0

धन्यवाद। मेरा कार्यक्रम फायरिंग नहीं था क्योंकि सत्यापन करने के लिए नियंत्रण खाली स्ट्रिंग था – Alberto

1

CustomValidators अगर आपके ASPX में अन्य प्रमाणकों को मान्य नहीं कर रहे हैं आग नहीं है। आपको अपने विशिष्ट सत्यापन समूह के साथ एक पेज को वैध करने की आवश्यकता हो सकती है। "वैध" ("कुछ")। मैं सुझाव देता हूं कि पेज को मान्य करने के लिए ऑनटेक्स्ट चेंजेड ईवेंट देखें।

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