Обработка сообщений об ошибках с использованием asp.net - PullRequest
0 голосов
/ 27 июня 2009

У меня есть страница asp.net с кнопкой отправки на стороне сервера и двумя текстовыми полями, которые принимают только числовые значения. Я также использую элементы управления проверкой asp.net.

Если пользователь вводит нечисловые данные в оба текстовых поля, как мне показать только 1 сообщение об ошибке на странице, говорящее: Msgstr "Разрешены только числовые значения." И я хочу добиться этого без запуска серверного события.

Спасибо.

Ответы [ 4 ]

3 голосов
/ 27 июня 2009

Ну, очевидно, вам нужно сделать это с помощью JavaScript.

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

<div id="numericErrorMessage" class="error" style="display:none;">
        Numeric Values only.
</div>

Тогда вы можете сделать:

if(!IsNumber(text1)  || !IsNumber(text2)) {
   document.getElementById(numericErrorMesage).style.display = 'block';
}

конечно, это "псевдокодиш", но я думаю, что это сработает для вас, как только вы найдете способ, которым javascript может проверять правильные числа и просто поместить его в функцию IsNumber

1 голос
/ 27 июня 2009

Вы можете использовать проверку jquery, используя \ d регулярное выражение выше. Используя jquery, вы получите больший контроль над выводом. Это обсуждается здесь.

0 голосов
/ 27 июня 2009

Я бы предложил использовать специальный валидатор, если вам нужно только одно сообщение об ошибке. Вам нужно будет написать свои собственные функции проверки сервера и клиента, но это достаточно просто. Вот ссылка:

http://msdn.microsoft.com/en-us/library/f5db6z8k(VS.71).aspx

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

0 голосов
/ 27 июня 2009

Вы можете использовать Regex Validator:

<asp:RegularExpressionValidator id="RegularExpressionValidator1" 
                 ControlToValidate="TextBox1"
                 ValidationExpression="\d"
                 Display="Static"
                 ErrorMessage="Only numeric values are allowed."
                 EnableClientScript="True" 
                 runat="server"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...