![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
ValidationSummary
Класс ValidationSummary позволяет вывести итоговую информацию по всем валидаторам на странице. Она может быть выведена в различной форме:
Информацию можно выводить на странице, а можно в информационном окне, если ShowMessage поставить в True. Для всех валидаторов выводится свойство Error Message, а не текст. Text выводится в самом валидаторе. Вернемся к странице Registration.aspx. Добавим в него еще одно поле для ввода пароля: < form runat=" server" id=" input" > < asp: Label ID=" Label1" runat=" server" Text=" Введите имя: " Width=" 140px" > < /asp: Label> < asp: TextBox ID=" txtName" runat=" server" CausesValidation=" True" /> < asp: Label ID=" Label2" runat=" server" Text=" Введите адрес: " Width=" 140px" > < /asp: Label> < asp: TextBox id=" txtAddress" runat=" server" textmode=" multiline" rows=" 5" /> < br/> < br /> < asp: Label ID=" Label3" runat=" server" Text=" Введите пароль: " Width=" 140px" > < /asp: Label> < asp: TextBox id=" txtPassword" runat=" server" textmode=" password" /> < br /> < br /> < asp: Label ID=" Label4" runat=" server" Text=" Повторите пароль" Width=" 140px" > < /asp: Label> < asp: TextBox id=" TextBox1" runat=" server" textmode=" password" /> < br /> < asp: Button ID=" Button1" runat=" server" Text=" Submit" /> < /form>Свойство CausesValidation работает, когда элемент управления теряет фокус. В таком случае связанный с ним валидатор показывает значение своего свойства Text. Нам нужно, чтобы имя было обязательно введено, а пароль совпадал в обоих текстовых полях. Перетащите RequiredFieldValidator и бросьте его на форму. ControlToValidate установите в txtName. Второй валидатор — Required FieldValidator для пароля. Третий — CompareValidator, который сравнивает значение паролей: < asp: RequiredFieldValidator ID=" RequiredFieldValidator1" ControlToValidate=" txtName" Display=" Static" ErrorMessage=" Имя необходимо ввести" runat=" server" > *< /asp: RequiredFieldValidator> < asp: RequiredFieldValidator ID=" RequiredFieldValidator2" runat=" server" ErrorMessage=" Пароль не должен быть пустым" ControlToValidate=" txtPassword1" > *< /asp: RequiredFieldValidator> < asp: CompareValidator ID=" CompareValidator1" runat=" server" ControlToValidate=" txtPassword1" ErrorMessage=" Пароли должны совпадать! " ControlToCompare=" txtPassword2" > < /asp: CompareValidator> < br />А также один ValidationSummary: < asp: ValidationSummary ID=" ValidationSummary1" runat=" server" />Поставим кнопку, при нажатии на которую будет происходить проверка: < asp: Button ID=" Button1" runat=" server" Text=" Валидация" OnClick=" Validate_Click" />Обработчик нажатия на кнопку подтверждает ввод, если валидация прошла успешно: protected void Validate_Click(object sender, EventArgs e) { if (Page.IsValid) { lblName.Text = " "; lblAddress.Text = " "; lblPassword.Text = " "; input.Visible = false; if (txtName.Text! = " ") lblName.Text = " Вы ввели имя: " + txtName.Text; if (txtAddress.Text! = " ") lblAddress.Text = " Вы ввели адрес: " + txtAddress.Text; if (txtPassword1.Text! = " ") lblPassword.Text = " Вы ввели пароль: " + txtPassword1.Text + " < br> Спасибо за регистрацию! "; } }Вся проверка этой страницы происходит у клиента. Можете даже остановить сервер, чтобы в этом убедиться. Только когда все данные введены правильно, происходит отправка формы на сервер.
|