Asp.net Custom Validator - PullRequest
       8

Asp.net Custom Validator

2 голосов
/ 10 марта 2012

Я выполняю и clientside validation, и server side validation, используя jquery и Asp.net custom validator, required field validator. Что я делаю, я показываю 'X' рядом с tetxbox, который имеет неправильный ввод. Это работает хорошо, моя проблема в том, что когда текстовое поле имеет неправильный ввод, оно отображает 'X', так как функция jquery validation запускает его, в то же время, когда он передает данные, пользовательский валидатор также отображает 'X', поэтому два 'X''X 'отображаются так, этот вид выглядит странно. Так что я могу сделать, чтобы он отображался правильно, если я удалю текст из custom validator и покажу только error message в validation summary. Любые предложения будут оценены. Спасибо

Ответы [ 2 ]

3 голосов
/ 11 марта 2012

Элемент управления CustomValidator имеет свойство с именем ClientValidationFunction. Это позволяет вам вызывать метод javascript, который имеет только одно задание - установить для свойства IsValid (параметра args) значение true или false. Пользовательский валидатор позаботится о сообщении об ошибке за вас. Вам не нужно иметь jquery для показа и скрытия ошибки. Это должно просто работать. Для этого Asp.net размещает на странице некоторый javascript, поэтому вам не нужно.

Примечание. Если у вас есть второй RequireFieldValidator (или любой другой валидатор) для того же ввода, помните, что вы должны установить свойство Display="Dynamic", которое будет гарантировать, что валидатор не будет занимать место на экране, пока он не используется. показано (что может привести к тому, что сообщения других ваших валидаторов будут вытеснены из позиции).

Подробнее о свойстве пользовательских валидаторов ClientValidationFunction см. на этой странице

Надеюсь, это поможет

3 голосов
/ 10 марта 2012

По моему мнению, продолжайте использовать оба, но просто не показывайте 'X' в вашей проверке jQuery.Атрибут Text в Custom Validator будет отображаться в любом случае при отправке, а атрибут ErrorMessage для этого валидатора будет отображаться в сводке.У меня такая же ситуация, и она отлично работает.

Надеюсь, она вам поможет.

...