Я новичок в C#. У меня есть этот элемент управления на странице следующим образом:Пользовательский валидатор в .ascx не отображает сообщение об ошибке
<asp:ValidationSummary runat="server" HeaderText="There were errors on the page:" ShowSummary="true" ForeColor="Red"/>
<asp:TextBox id="email" runat="server" />
<asp:CustomValidator ID="emailValidator" runat="server" ErrorMessage="Email is invalid." ForeColor="Red" OnServerValidate="ValidateEmail" ControlToValidate="email" Display="Dynamic">*</asp:CustomValidator>
И в коде CS:
protected void ValidateEmail(object o, ServerValidateEventArgs e)
{
ValidateEmailAttribute emailValidator = new ValidateEmailAttribute();
if (!emailValidator.Validate(this.email.Text))
{
e.IsValid = false;
}
if (this.email.Text.Contains("#"))
{
e.IsValid = false;
}
return;
}
Когда электронная почта является недействительным не отображается сообщение об ошибке. Все, что отображается на странице в красном цвете:
There were errors on the page:
Но это не совсем понятно для пользователя, чтобы понять, где ошибка. Почему «Электронная почта недействительна». не отображается?
Благодаря
Вы активизировали через код в отладчике? Действительно ли проверена проверка подлинности на стороне сервера? –
да, это ударяет отладчиков. e.IsValid = false; называется. – user1860447