Javascript 使用PHP json_encode将PHP规则数组传递给jQuery验证程序

Javascript 使用PHP json_encode将PHP规则数组传递给jQuery验证程序,javascript,php,jquery,jquery-validate,Javascript,Php,Jquery,Jquery Validate,在查看了关于这个主题的其他帖子后,我仍然不清楚这应该如何工作。。我正在生成一个PHP规则数组(因为表单字段是动态的),以应用jQueryValidator所需的规则。我正在使用的代码 $( "#the-form" ).validate({ <?php echo json_encode($rules);?> }); 控制台出现以下错误: 语法错误:无效的属性id 参考json中打印出来的第一项,如下所示: Array ( [rules] => Array (

在查看了关于这个主题的其他帖子后,我仍然不清楚这应该如何工作。。我正在生成一个PHP规则数组(因为表单字段是动态的),以应用jQueryValidator所需的规则。我正在使用的代码

$( "#the-form" ).validate({
    <?php echo json_encode($rules);?>
});
控制台出现以下错误:

语法错误:无效的属性id

参考json中打印出来的第一项,如下所示:

Array
(
[rules] => Array
    (
        [uName] => Array
            (
                [required] => 1
            )

        [uEmail] => Array
            (
                [required] => 1
                [email] => 1
            )

        [uPassword] => Array
            (
                [minlength] => 5
            )

        [uPasswordConfirm] => Array
            (
                [minlength] => 5
                [equalTo] => #uPassword
            )
    )
)    
{"rules":{"uName":{"required":true},"uEmail":{"required":true,"email":true},"uPassword":{"minlength":5},"uPasswordConfirm":{"minlength":5,"equalTo":"#uPassword"}}}

问题在于你的语法。在
标记周围有
{}
,这将导致Javascript获得
{{“规则”:{..}}}
,您需要
{rules:{..}}}。

$( "#the-form" ).validate({
    <?php echo json_encode($rules);?>
});
$(“#表单”)。验证({
});
应该是

$( "#the-form" ).validate(
    <?php echo json_encode($rules);?>
);
$(“#表单”)。验证(
);

为了正常工作。

问题在于语法。在
标记周围有
{}
,这将导致Javascript获得
{{“规则”:{..}}}
,您需要
{rules:{..}}}。

$( "#the-form" ).validate({
    <?php echo json_encode($rules);?>
});
$(“#表单”)。验证({
});
应该是

$( "#the-form" ).validate(
    <?php echo json_encode($rules);?>
);
$(“#表单”)。验证(
);

为了正常工作。

不确定,但请尝试此操作,
$(“#表单”).validate()不确定,但请尝试此操作,
$(“#表单”).validate()
规则
选项周围加引号绝对不会破坏这个插件。然而,是的,额外的一套牙套会的。是的,应该已经发现了。感谢大家在
规则
选项周围加引号绝对不会破坏这个插件。然而,是的,额外的一套牙套会的。是的,应该已经发现了。谢谢大家