Проверка на стороне клиента приводит к отображению неверных данных в ASP.NET - PullRequest
0 голосов
/ 05 апреля 2011

Я действительно не мог придумать лучшего описательного названия для этого вопроса ... но вот ситуация:

У меня есть форма, которая содержит несколько и разные элементы управления вводом ... и у меня есть два типавалидация:

  1. Этот тип гарантирует, что пользовательский ввод не нарушает ограничения моего приложения (обязательно, максимальная длина, regExp) .. и это делается на стороне клиента с использованием ASP.NET Validation Controls .. и он обеспечивается проверкой на стороне сервера .

  2. Этот тип работает на более глубоком уровне, как база данных.он проверяет, является ли запись дубликатом, и любую другую проверку, которую нельзя выполнить на уровне пользовательского интерфейса.

Я использую элемент управления ValidationSummary для отображения ошибок первого типа и метку дляошибки типа второго.Я попытался проверить его с отключенным JavaScript, и он работал нормально, затем я снова включил JS и * Возникает проблема: *

Сначала я пытаюсь вызвать ошибку наслой db (путем ввода имени, которое уже существует), и ошибка отображается на метке, и все хорошо. Теперь я пытаюсь удалить имя из текстового поля и нажать кнопку отправки, чтобы я мог вызвать требуемое поле валидатора ошибка ожидаемоговыводится только «Это поле обязательно для заполнения», но я вижу «имя уже существует» и «Это поле обязательно для заполнения».

.. Я думаю, это потому, что когда ASP.NET RequiredValidator работает, он нене выполняйте обратную передачу, поэтому слой базы данных никогда не будет проверен и даже не будет очищен от метки!

1 Ответ

1 голос
/ 06 апреля 2011

Похоже, вам нужно добавить JavaScript, который скрывает / удаляет сообщение об ошибке «имя уже существует» при изменении имени или при попытке отправить форму.

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