javascript — передача массива правил PHP в валидатор jQuery с использованием PHP json_encode.

Проверив другие посты на эту тему, я все еще не понимаю, как это должно работать. Я генерирую массив правил 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"}}}

0

Решение

Проблема с вашим синтаксисом. У тебя есть {} вокруг <?php ?> теги, которые в конечном итоге получат ваш Javascript {{"rules":{ .. }}}где ты хочешь {rules:{ .. }}.

$( "#the-form" ).validate({
<?php echo json_encode($rules);?>
});

должно быть

$( "#the-form" ).validate(
<?php echo json_encode($rules);?>
);

для того, чтобы работать правильно.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]