मैंने पहले इस समस्या में भाग लिया है लेकिन इसे हल नहीं किया है। मेरे पास कई सत्यापनकर्ताओं और कस्टम वैलिडेटर के साथ एक फॉर्म है।कस्टम वैलिडेटर को सत्यापन के साथ काम करने का सुरुचिपूर्ण तरीकासमूह संदेश संदेश
<asp:Label ID="lblMemberNum" runat="server" Text="Membership #:" CssClass="LabelMedium" ></asp:Label>
<asp:TextBox ID="txtMemberNum" runat="server" CssClass="TextBox" ></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvMemberNum" SetFocusOnError="True" runat="server"
ControlToValidate="txtMemberNum" ErrorMessage="[ Membership # ] is required"
CssClass="ValidationMessage" Display="Dynamic" >*</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="revMemberNum" Display="Dynamic" runat="server"
ControlToValidate="txtMemberNum" CssClass="ValidationMessage"
ErrorMessage="[ Membership # ] can only contain letters"
ValidationExpression="^([a-zA-Z\d]+)$" >*</asp:RegularExpressionValidator>
<asp:CustomValidator ID="cvMemberNum" runat="server"
CssClass="ValidationMessage" Display="Dynamic"
ControlToValidate="txtMemberNum" ValidateEmptyText="false"
OnServerValidate="cvMemberNum_Validate"
ErrorMessage="This membership number is already registered">*</asp:CustomValidator>
<asp:ValidationSummary ID="ValidationSummary1" runat="server"
CssClass="ValidationMessage"
ShowMessageBox="True" ShowSummary="False" />
और सर्वर साइड पर:
protected void cvMemberNum_Validate(object source, ServerValidateEventArgs args)
{
try
{
args.IsValid = (!CampaignRegistration.IsMemberRegistered(args.Value));
}
catch
{
args.IsValid = false;
}
}
मेरे समस्या है: ValidationSummary कभी नहीं CustomValidator से संदेश को दर्शाता है। इस सवाल से कई स्थानों पर पूछा गया है, लेकिन मैंने एक संतोषजनक उत्तर देखा है।
मुझे पूरा यकीन है कि समस्या नहीं है। हालांकि, मैं कोशिश करूँगा और रिपोर्ट करूंगा। –
मैंने अवलोकन करने के बाद अपनी पोस्ट अपडेट की। कृपया पुष्टि करें। –
आपके द्वारा हाइलाइट किया गया कोड वास्तव में ठीक है। यदि उपयोगकर्ता पहले ही पंजीकृत है तो प्रमाणीकरण विफल हो जाता है। वह हिस्सा काम करता है। क्या होता है, '*' टेक्स्टबॉक्स के बगल में दिखाई देता है, लेकिन प्रमाणीकरणसमरी संदेशबॉक्स प्रस्तुत नहीं करती है। –