2011-06-30 2 views
0

У меня есть 3 TextBoxes на странице. Как настроить один валидатор (и что такое валидатор?) Для проверки каждого из текстовых полей на стороне клиента?Один валидатор asp.net для нескольких текстовых полей

Первого TextBox сусло содержит только 1-3 число цифр, второго - бесконечное количество цифр, третьего - 0-5 числа цифр

+0

Вы можете использовать CustomValidator, но почему бы вам не использовать три разных валидатора, по одному для каждого TextBox? –

+0

Я хочу показывать только одно сообщение об ошибке одновременно. – Alexandre

+0

@Alex Use Validation Summary для отображения одного сообщения об ошибке. Проверьте мой ответ ниже. – Jayesh

ответ

2

Было бы лучше использовать различные валидатор для различных текстовых полей. Используйте 3 валидатора для каждого с отображаемым сообщением как * знак.

Затем используйте элемент управления сводной ведомость, чтобы распечатать одно сообщение для всех из них, так как вы хотите, чтобы одно сообщение отображалось для всех. См этой ссылке: MSDN Validation Summary

Проверить это тоже: Validation Summary to work with client-side validations

+0

Это хорошо, если у него есть только эти 3 поля в форме - я предполагаю (возможно, неправильно), что ему нужно одно сообщение для этих полей, но другие поля в форме все равно будут иметь собственное сообщение , В этом случае объединение всех в одно сводное сообщение было бы предельным. – BonyT

+0

@BonyT Как он сказал в вопросе: один валидатор для проверки каждого из TextBoxes. Поэтому ему нужно всего лишь 1 валидатор для всех текстовых полей. Далее в комментариях к этому вопросу он говорит: «Я хочу показать одно общее сообщение об ошибке. Это что-то вроде «Формат неверен» – Jayesh

+0

Я действительно сказал, что мое предположение может быть неправильным! – BonyT

0

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

Можно оставить свойство ControlToValidate свойства CustomValidator пустым. Таким образом, вы можете одновременно проверять несколько элементов управления.

1

выражениях бы вдоль линий:

[0-9] {1,3}

[0-9] +

[0-9] {0,5 }

Обновлено после дальнейшей информации:

Вы можете объединить значения из каждого текстового поля в разделенные запятыми значения, а затем подтвердить, что с помощью [0-9] {0,3}, [0-9] + , [0-9] {1,5}.

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

например. Использование jquery

$('#hiddenCombinedField').val($('#field1').val()+','+$('#field2').val()+','+$('#field3').val()); 

Запустите это перед тем, как позвонить по форме.

См. Также http://speckyboy.com/2009/12/17/10-useful-jquery-form-validation-techniques-and-tutorials-2/ для некоторых полезных справочных материалов.

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