Я действительно не мог придумать лучшего описательного названия для этого вопроса ... но вот ситуация:
У меня есть форма, которая содержит несколько и разные элементы управления вводом ... и у меня есть два типавалидация:
Этот тип гарантирует, что пользовательский ввод не нарушает ограничения моего приложения (обязательно, максимальная длина, regExp) .. и это делается на стороне клиента с использованием ASP.NET Validation Controls .. и он обеспечивается проверкой на стороне сервера .
Этот тип работает на более глубоком уровне, как база данных.он проверяет, является ли запись дубликатом, и любую другую проверку, которую нельзя выполнить на уровне пользовательского интерфейса.
Я использую элемент управления ValidationSummary для отображения ошибок первого типа и метку дляошибки типа второго.Я попытался проверить его с отключенным JavaScript, и он работал нормально, затем я снова включил JS и * Возникает проблема: *
Сначала я пытаюсь вызвать ошибку наслой db (путем ввода имени, которое уже существует), и ошибка отображается на метке, и все хорошо. Теперь я пытаюсь удалить имя из текстового поля и нажать кнопку отправки, чтобы я мог вызвать требуемое поле валидатора ошибка ожидаемоговыводится только «Это поле обязательно для заполнения», но я вижу «имя уже существует» и «Это поле обязательно для заполнения».
.. Я думаю, это потому, что когда ASP.NET RequiredValidator работает, он нене выполняйте обратную передачу, поэтому слой базы данных никогда не будет проверен и даже не будет очищен от метки!