Какие изменения вносятся в DOM при запуске проверки MVC? - PullRequest
1 голос
/ 02 сентября 2011

У меня есть форма в модальном окне, которая в настоящее время выполняет некоторую проверку. (Я использую ASP.NET MVC, JQuery UI, формы ajax, аннотации данных и ненавязчивый активен)

Когда эта проверка запускается, я заметил, что она делает несколько вещей:

1: мое резюме проверки получает его класс изменен с .validation-summary-valid на .validation-summary-errors

2: к моим некорректным входам добавлен класс, который называется .input-validation-error

3: мои проверочные сообщения меняют свой класс с .field-validation-valid на .field-validation-error

Но есть что-то еще, что он делает, и я не могу понять, как он это отслеживает.

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

Но как только я запускаю проверку, нажимая «Отправить» с пустым текстовым полем, я могу выбрать текстовое поле и ввести что-то, чтобы удалить проверку мгновенно, но если я затем обнуляю ее и выберу другое поле, эта ошибка повторяется без повторной отправки.

Итак, мой вопрос: что изменилось, откуда он знает, что я уже пытался подать заявку?

1 Ответ

1 голос
/ 02 сентября 2011

Когда вызывается validate, он добавляет класс к каждому вводу / выбору, который должен быть проверен.Когда ввод / выбор недействителен, он добавляет класс к вводу / выбору:

class="input-validation-error"

Когда он действителен, он добавляет:

class="valid"

Проверка запускается тольков элементе управления при изменении значения, а не при потере фокуса.

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

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