Мне пришлось реорганизовать веб-страницу, когда я добавил форму загрузки изображения, вложенную в основную форму, поскольку это невозможно. Внешняя форма была преобразована в элементы с классом "item" и onClick кнопки отправки I, сериализовавшей их с помощью селектора
form = $(".item").serialize();
Однако теперь я снова рефакторинг, чтобы использовать плагин проверки правильности jquery, и мне интересно, смогу ли я использовать этот селектор, а не сама форма (которая там больше).
Я думал о чем-то вроде:
$(".item").validate(
{
rules: {
summary: {
validateSummary: true
}
..........etc etc
это, похоже, не работает, но теория заключалась в том, что я бы сериализовал соответствующие элементы ".item", а затем применил выборочную проверку к элементам в этом списке, которые соответствуют имени (таким же образом я предположил, что сериализация формы будет работать).
Я видел параметр classRules, который поставляется с плагином validate, однако он выглядит как эта группа выборочных проверок по классам, на самом деле я хочу сделать "нормальную" проверку формы только для этого, я использую селектор вместо #form.
Я, честно говоря, не могу следовать рассуждениям за все ваши манипуляции с DOM, но в этом случае мне это не нужно.
Чтобы использовать плагин jQuery Validate, ваши элементы ввода должны быть внутри набора тегов form
. Для этого требования нет обходного пути.
Один из способов проверки полей, которые должны быть вне формы (по какой-либо причине - иногда это хорошая причина, а иногда и нет), - это использовать скрытое поле, которое находится в вашей форме, даже если реальное поле заинтересованы вне формы.
Перед проверкой установите значение скрытого поля в значение элемента вне формы. Затем вызовите плагин проверки в форме (как сказал Спарки, вы должны называть его в форме), который будет проверять скрытое поле, если у вас есть этот параметр игнорирования:
$('#myform').validate({
ignore: [],
// any other options and/or rules
});