में भर नहीं गया है, मुझे लगता है कि यह एक बहुत ही साधारण समस्या हो सकती है लेकिन मेरे जीवन के लिए इसे समझ नहीं सकता है।कस्टम सत्यापनकर्ता फायरिंग नहीं कर रहा है अगर नियंत्रण
मैं एक एएसपी है: पाठ बॉक्स। मेरे पास एक कस्टम सत्यापनकर्ता है जिस पर क्लाइंट और सर्वर साइड सत्यापन है।
यहाँ कोड है:
<asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox>
<asp:CustomValidator ID="vldFirstName" runat="server" ControlToValidate="txtFirstName"
ClientValidationFunction="ValidateName" OnServerValidate="vldFirstName_ServerValidate"
Text="Please put in your first name" ErrorMessage="First name missing"
ForeColor="Red" font-bold="true" Display="Dynamic"
ValidateEmptyText="true">
</asp:CustomValidator>
यह सही ढंग से सर्वर साइड पर मान्य करता है, तो मैं बस अपना पेज में सीधे जाओ और सबमिट करें क्लिक करें, पाठ बॉक्स खाली छोड़ देगा।
ग्राहक साइड सत्यापन के साथ हालांकि। अगर मैं बॉक्स में जाता हूं और कुछ भी टाइप किए बिना सीधे बाहर आ जाता हूं। जावास्क्रिप्ट सत्यापन आग नहीं है। अगर मैं कुछ टाइप करता हूं तो बॉक्स छोड़ दो। वापस जाएं और फिर सत्यापन कार्य बॉक्स को साफ़ करें। यह वापस आता है कि यह खाली है।
हालांकि मैं इसे बॉक्स में जाने के तुरंत बाद चाहता हूं और इसे सत्यापन कर दूंगा। मुझे यकीन नहीं है कि टेक्स्टबॉक्स छेड़छाड़ किए जाने पर वैधकर्ता फायरिंग क्यों नहीं कर रहा है।
यह 'ValidateName' कोड देखने में मदद कर सकता है। – stuartd
@stuartd, सत्यापन कोड इस समय बस इतना आसान है कि लंबाई 3 की जांच हो और मूल्य शून्य न हो। मैंने इसे डीबग किया है और हर बार कोड को क्लाइंट साइड कहा जाता है। जब मैंने कुछ डाल दिया है और फिर इसे हटा दिया है तो ठीक काम करता है। लेकिन आग लगती है अगर इसे – Sam
के माध्यम से छोड़ दिया गया है तो 'ValidateName' का कहना है कि इनपुट मूल्य कब छोड़ा जाता है और कब हटाया जाता है? – LGSon