Проверка после обратной передачи - PullRequest
1 голос
/ 17 февраля 2010

У меня есть форма, которая вставляет запись в базу данных. Форма имеет два обязательных поля с присвоенными им RequiredFieldvalidators и кнопкой вставки. После нажатия кнопки «Вставить» запись добавляется в БД, а текстовые поля очищаются. Но когда страница перезагружается после обратной передачи, начинается проверка. Есть ли способ установить страницу действительной после обратной передачи?

Ответы [ 2 ]

2 голосов
/ 17 февраля 2010

Похоже, вы не правильно используете валидаторы. Вы не можете полагаться на проверку на стороне клиента, чтобы убедиться, что ваши входные данные в порядке - вам нужно проверить как на стороне клиента, так и на стороне сервера. Если пользователь отключит javascript, тогда проверка на стороне клиента вообще не будет выполняться, поэтому, если вы также не проверяете сервер, вы просто вставляете их необработанные данные в базу данных.

Сообщения проверки должны появиться после обратной передачи, чтобы сообщить вам, когда были недопустимые входы - это их основная функция. Сообщения на стороне клиента, которые появляются до публикации, просто удобны для браузеров с поддержкой JavaScript.

Прежде чем вставить что-либо в базу данных, вам необходимо проверить все валидаторы, используя этот шаблон:

if (Page.IsValid)
{
   // Insert into database
}

Если валидаторы недействительны, страница вернется без вставки чего-либо и отобразит сообщения валидатора. Если все действительно верно, то сообщения не будут отображаться, но независимо от того, какой код вы запускаете, сообщения будут отображаться, если ввод был неверным.

0 голосов
/ 17 февраля 2010

Валидаторы необходимы для проверки данных до обратной передачи, поэтому после обратной передачи страница должна быть действительной.

Обновление. Если запись была добавлена ​​в базу данных после нажатия кнопки вставки - это означает, что страница была действительной. Page.IsValid используется для проверки на стороне сервера в некоторых случаях, и должна выполняться проверка на стороне клиента .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...