我有一个 CustomValidator 并且我定义了它的每个可能的参数:
<asp:CustomValidator ID="custom" runat="server" Text="*" ErrorMessage="This email address is already registered" ControlToValidate="txtEmail" OnServerValidate="isExist" Display="None" ValidationGroup="valRegister"></asp:CustomValidator>
PS:我有一个用于相同文本框的 RequiredFieldValidator,我不想检查空值。
以下是其他形式的对象:
<div class="row"><asp:Label runat="server" Text="Email" AssociatedControlID="txtEmail"></asp:Label><asp:RequiredFieldValidator runat="server" ErrorMessage="Please enter your email" Text="*" ControlToValidate="txtEmail"></asp:RequiredFieldValidator><asp:TextBox ID="txtEmail" runat="server" CssClass="inpBox"></asp:TextBox></div>
<asp:Button runat="server" Text="Register" CssClass="btn" OnClick="register_member" CausesValidation="true" ValidationGroup="valRegister" />
<asp:ValidationSummary ID="validationSummary" runat="server" ShowMessageBox="true" ShowSummary="false" ValidationGroup="valRegister" />
protected void isExist(object sender, ServerValidateEventArgs args){
if (cre.member.isExist(args.Value)){
args.IsValid = false;
} else {
args.IsValid = true;
}
当我将电子邮件已经存在于数据库表中时 * 出现在表单上,但错误消息未显示。我尝试了自定义错误的所有显示选项,但没有成功。
最佳答案
我完全按照你的问题接受了代码。
在 asp:CustomValidator
中将 Display="None"
更改为 Display="Dynamic"
会导致出现星号。
在 asp:ValidationSummary
中将 ShowSummary="false"
更改为 ShowSummary="true"
会导致错误消息出现在摘要中.
关于c# - CustomValidator 消息未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13960264/