Я динамически добавляю правила проверки при нажатии кнопки «Сохранить» - я делаю это для ввода текста и элемента select:
$ ("# my-txt"). Rules ("добавить", {требуется:
true, сообщения: {обязательно: "текст
требуется "}});
$ ("# my-ddl"). Rules ("добавить", {требуется:
true, сообщения: {обязательно: "выбор
требуется "}});
После добавления правил я вручную запускаю проверку (.valid()
), а затем удаляю правила, выполняя .rules("remove")
для элементов. Я делаю это, потому что я хочу, чтобы ошибки оставались до тех пор, пока пользователь снова не нажмет «сохранить» и проверка не будет запущена повторно.
Это работает нормально, и ошибки отображаются правильно ... НО ... в то время как ошибка для ввода текста сохраняется независимо от того, что, когда я нажимаю на выпадающий список, появляется соответствующая ошибка прочь (я вижу на дисплее: ни один не вводится в промежуток, содержащий ошибку) независимо от выбора (он исчезает, как только я нажимаю на элемент управления, а не когда я нажимаю на кнопку). Я ожидаю, что ошибка для раскрывающегося списка не будет скрыта, так же, как поле ввода текста.
Правило, похоже, на самом деле исчезло, потому что, если я вернусь и выберу значение по умолчанию для элемента select (value = ""), оно не покажет сообщение об ошибке.
Это меня озадачило - я пытаюсь найти способ заставить оба поля работать одинаково.
Любая помощь приветствуется!