Нужен ли пользовательскому валидатору событие ServerValidate, если оно уже имеет clientValidationFunction - PullRequest
1 голос
/ 30 мая 2011

Насколько я знаю, если есть функция clientValidationFunction в клиентском валидаторе.это не позволит посту вернуться, пока значение не станет действительным.Так что, если уже есть clientValidationFunction, нет необходимости иметь событие ServerValidate, верно?

Ответы [ 3 ]

3 голосов
/ 30 мая 2011

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

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

1 голос
/ 30 мая 2011

Это правильно, если вы пытаетесь вызвать событие элемента управления со свойством CausesValidation, для которого установлено значение true .Однако, если CausesValidation было установлено на false a Post Back произойдет.

Вы можете заставить валидатор вызывать его логику проверки, даже если CausesValidation был установлен на false по вызову validator.Validate().

0 голосов
/ 30 мая 2011

Ты прав.Проверка сервера должна использоваться, когда вы не можете - из-за сложности - создать клиентское правило.Здесь вы можете прочитать некоторые больше

...