2012-03-10 3 views
2

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

ответ

3

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

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

+0

спасибо, если вы предлагаете не показывать «X» на JQuery, то какова альтернатива ,, любых идеи – freebird

+0

Добро пожаловать. Альтернативой является отображение вашего «X» в пользовательском валидаторе при отправке информации. Поэтому, чтобы быть понятным, пользовательский валидатор существует, когда вы хотите проверить ситуации, которые другие валидаторы по умолчанию не могут выполнять. – utsikko

+0

Привет, снова, если вы все еще хотите использовать jQuery и показывать что-то с ним, вы можете, например, вызвать окно предупреждения или установить цвет фона неправильного поля ввода красным цветом. – utsikko

3

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

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

Для более подробной информации о пользовательских валидаторах ClientValidationFunction свойства, см this page

Я надеюсь, что это помогает

+0

привет большое спасибо, этот подход звучит более гибко. – freebird

+1

не заботится, рад помочь, я надеюсь, что у вас это работает. – Robbie

+0

Кто бы ни сказал, это должно действительно сказать, почему –

Смежные вопросы