Я использую специальный валидатор ASP.net для проверки, существует ли почта в базе данных или нет, поэтому у меня есть функция bool на стороне сервера
public void isUnique(object source, ServerValidateEventArgs args)
{
args.IsValid = Formatters.FormatUser.AlternateMailUnique(_txtAlternateEmail.Text);
}
и пользовательский валидатор, который проверяет текстовое поле _txtAlternateEmail
<asp:TextBox ID="_txtAlternateEmail" runat="server" onkeypress="typetext();" onmouseout="textclear();"></asp:TextBox>
<asp:CustomValidator runat="server" id="cusCustom" controltovalidate="_txtAlternateEmail" OnServerValidate="isUnique" errormessage="Mail already exists" ValidationGroup="savechanges"/>
Между тем валидаторы не действуют как валидаторы .net, я имею в виду, что если функция isUnique возвращает false, страница возвращается на сервер и ничего не проверяется.