使用php中定义的规则的jquery验证程序
我正在使用jquery验证插件 我的qsn与此答案相关 , 主要是我需要给出一个函数,基于一些规则需要或不需要。不同之处在于,我需要并且在php中有作为数组的规则,如使用php中定义的规则的jquery验证程序,php,jquery,forms,jquery-validate,Php,Jquery,Forms,Jquery Validate,我正在使用jquery验证插件 我的qsn与此答案相关 , 主要是我需要给出一个函数,基于一些规则需要或不需要。不同之处在于,我需要并且在php中有作为数组的规则,如 $validationMessages['rules'] = array( 'email' => array( 'required' => 'function () { return $("#myDiv").length; }', ) ); 那么我有js var rules = $.p
$validationMessages['rules'] = array(
'email' => array(
'required' => 'function () { return $("#myDiv").length; }',
)
);
那么我有js
var rules = $.parseJSON('<?php echo json_encode($validationMessages['rules'])?>');
当我在php中设置required=>true而不是一个函数时,它工作得很好,但是函数定义会给出那个错误吗?如何在php中定义函数并使其在js中工作
谢谢您需要将json保存为字符串变量,并将此变量用作$.parseJSON中的参数。像这样:
var rulesJson = '<?php echo json_encode($validationMessages["rules"])?>';
var rulesObj = $.parseJSON(rulesJson);
@LorenzMeyer,我想你误解了,也许是我的错,这个函数不是php函数,它是js函数,我更新了qsn,请让我知道它是否让sensename成为你的函数“必需”=>“函数myFunction{return$myDiv.length;}”,你是对的,抱歉。我的建议解决了您的问题吗?仍然是相同的无法识别的表达式:函数myFunction{return true;}tks但不起作用,在objectvar valid={email:{required:function{return$'myDiv'.length;}}}中的属性值之后的jquery min SyntaxError:JSON.parse:expected','或'}'出现另一个错误;看看这根绳子。无论哪种方式都是无效的JSON或字符串,您都需要找到一种方法从PHP中获取带有转义字符的字符串。是的,几小时前发现了这一点,这里有一篇文章,没有尝试过,但看起来是相同的问题tksYes。如果有一些固定数量的可能函数,我只需要在html中声明它们并将它们添加到json对象中,可能是基于php的一些id。您还可以通过从php发送一些内容来修改这些函数。
var rulesJson = '<?php echo json_encode($validationMessages["rules"])?>';
var rulesObj = $.parseJSON(rulesJson);