Основы ASP.NET 2.0



         

CustomValidator - часть 2


<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="txtPassword1" ErrorMessage="Слишком короткий пароль" Display="Static" OnServerValidate="ServerValidate" >*</asp:CustomValidator><br />

Произведем такую же валидацию на сервере. Чтобы запустить проверку на сервере, используется свойство OnServerValidate. Функция, которая указана в ней, входит в класс страницы и должна быть написана на C#:

void ServerValidate(object source, ServerValidateEventArgs args) { string password = args.Value.ToString(); int len = password.Length; args.IsValid = (len >= 5); }

ServerValidate вызывается после события Page_Load, поэтому нельзя, как в лекции 3, выводить результаты в Page_Load.

Можно также одновременно проводить и клиентскую, и серверную валидацию:

<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="txtPassword1" ErrorMessage="Слишком короткий пароль" Display="Static" OnServerValidate="ServerValidate" ClientValidationFunction="validatePassword" >*</asp:CustomValidator>

Чтобы отключить возможность генерации клиентского кода для всех валидаторов, можно написать

void Page_Load() { foreach (BaseValidator bv in Page.Validators) { bv.EnableClientScript = false; } }

Для отображения сообщения об ошибке можно использовать звуки и картинки. Для этого в свойство ErrorMessage нужно записать не текст, а соответствующие теги HTML, например

ErrorMessage=’<img src="error.gif">’




Содержание  Назад  Вперед