Проверив другие посты на эту тему, я все еще не понимаю, как это должно работать. Я генерирую массив правил PHP (поскольку поля формы являются динамическими), чтобы применить требуемое правило валидатора jQuery. Код, который я использую ..
$( "#the-form" ).validate({
<?php echo json_encode($rules);?>
});
$rules
массив выглядит так:
Array
(
[rules] => Array
(
[uName] => Array
(
[required] => 1
)
[uEmail] => Array
(
[required] => 1
[email] => 1
)
[uPassword] => Array
(
[minlength] => 5
)
[uPasswordConfirm] => Array
(
[minlength] => 5
[equalTo] => #uPassword
)
)
)
Консоль исправляет эту ошибку:
Ошибка синтаксиса: неверный идентификатор свойства
Обращаясь к первому элементу в json, который распечатывается следующим образом:
{"rules":{"uName":{"required":true},"uEmail":{"required":true,"email":true},"uPassword":{"minlength":5},"uPasswordConfirm":{"minlength":5,"equalTo":"#uPassword"}}}
Проблема с вашим синтаксисом. У тебя есть {}
вокруг <?php ?>
теги, которые в конечном итоге получат ваш Javascript {{"rules":{ .. }}}
где ты хочешь {rules:{ .. }}.
$( "#the-form" ).validate({
<?php echo json_encode($rules);?>
});
должно быть
$( "#the-form" ).validate(
<?php echo json_encode($rules);?>
);
для того, чтобы работать правильно.
Других решений пока нет …