Я пытаюсь добавить проверку в мою форму с помощью jQuery Validation Plugin, но у меня возникла проблема, когда плагин помещает сообщения об ошибках, когда я использую группы ввода.
$('form').validate({
rules: {
firstname: {
minlength: 3,
maxlength: 15,
required: true
},
lastname: {
minlength: 3,
maxlength: 15,
required: true
}
},
highlight: function(element) {
$(element).closest('.form-group').addClass('has-error');
},
unhighlight: function(element) {
$(element).closest('.form-group').removeClass('has-error');
}
});
Мой код: http://jsfiddle.net/hTPY7/4/
twitter-bootstrap
jquery-validate
twitter-bootstrap-3
Мигель Борхес
источник
источник
Ответы:
для полной совместимости с Twitter начальной загрузки 3 мне нужно переопределить некоторые методы плагинов:
Смотрите пример: http://jsfiddle.net/mapb_1990/hTPY7/7/
источник
resetForm()
валидатора формы не будут вызыватьunhighlight
недопустимые элементы, что делает необходимым удалениеhas-error
класса вручную при сбросе формы. Что я делаю, это вызываю следующую функцию вместоresetForm()
прямого вызова валидатора :function resetForm(form_id) { $(form_id).find(".form-group").removeClass("has-error"); $(form_id).data('validator').resetForm(); }
else if (element.prop('type') === 'radio') { error.insertBefore(element.parent().parent()); }
Для полной совместимости с Bootstrap 3 я добавил поддержку input-group , radio и checkbox , чего не было в других решениях.
Обновление 20/20/2017 : проверены предложения других ответов и добавлена дополнительная поддержка специальной разметки встроенного радио , улучшено размещение ошибок для группы радиостанций или флажков и добавлена поддержка пользовательского класса .novalidation для предотвращения проверки элементов управления. Надеюсь, что это помогает и спасибо за предложения.
После включения плагина проверки добавьте следующий вызов:
Это работает для всех классов форм Bootstrap 3. Если вы используете горизонтальную форму, вы должны использовать следующую разметку. Это гарантирует, что текст блока помощи учитывает состояния проверки ("has-error", ...) группы форм .
источник
errorClass: "help-block error-help-block"
. Я уже использовал .help-block для регулярной справочной информации, и это переписывало его сообщениями проверки формы. Добавление второго класса сделало его уникальным, и теперь он добавляет, а не перезаписывает мое «настоящее» справочное сообщение.Я использую формы, разработанные только с помощью Twitter Bootstrap 3. Я устанавливаю функции по умолчанию для валидатора и запускаю только метод валидации с правилами. Я использую иконки из FontAweSome, но вы можете использовать Glyphicons, как в примере с документом.
Готово. После запуска проверьте функцию:
Пример JSFiddle
источник
Добавив ответ Мигеля Борхеса выше, вы можете дать пользователю зеленый отзыв об успехе, добавив следующую строку в блок кода выделения / выделения.
источник
это решение, которое вам нужно, вы можете использовать
errorPlacement
метод, чтобы переопределить, куда поместить сообщение об ошибкеэто работает для меня как магия. ура
источник
error.insertAfter('.form-group');
положить ошибки во все .form-группу. но это показало мне идею. спасибодля начальной загрузки 4 это работа со мной хорошо
надеюсь, это поможет!
источник
validClass: 'valid-feedback'
Вот что я использую при добавлении проверки в форму:
Это сработало для меня в стиле Bootstrap 3 при использовании библиотеки проверки jquery.
источник
Я использовал это для радио:
таким образом, ошибка отображается под последней опцией радио.
источник
Я знаю, что этот вопрос относится к Bootstrap 3, но поскольку некоторые связанные с Bootstrap 4 вопросы перенаправляются на этот вопрос в виде дубликатов, вот совместимый с Bootstrap 4 фрагмент:
Несколько различий:
has-danger
вместоhas-error
источник
.has-*
классов. getbootstrap.com/docs/4.3/migration/#forms-1В бета-версии bootstrap 4 произошли большие изменения между альфа- и бета-версиями bootstrap (а также bootstrap 3), особенно. в отношении проверки формы.
Во-первых, чтобы правильно разместить значки, вам нужно добавить стили, которые соответствуют тому, что было в bootstrap 3, а не в бета-версии bootstrap 4 ... вот что я использую
Классы также изменились, поскольку бета-версия использует «состояние» элемента управления, а не классы, которые не отражен в размещенном вами коде, поэтому приведенный выше код может не работать. В любом случае, вам нужно будет добавить класс «was-validated» в форму при выполнении обратных вызовов highlight или unhighlight.
Я также рекомендовал бы использовать новый элемент и классы для текста справки управления формой
источник
Это составляет поля
источник
добавить исправление встроенного радио в этот https://stackoverflow.com/a/18754780/966181
источник
Ответ DARK_DIESEL отлично сработал для меня; Вот код для тех, кто хочет эквивалент с использованием глифов:
источник
Попробуйте использовать этот пример кода. Использование плагина проверки Jquery и дополнительных методов. Это рабочий код для моего проекта. Надеюсь, это поможет вам
источник
Другой вариант - заранее поместить контейнер ошибок за пределы вашей группы форм. Затем валидатор будет использовать его при необходимости.
источник