Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php中定义的规则的jquery验证程序_Php_Jquery_Forms_Jquery Validate - Fatal编程技术网

使用php中定义的规则的jquery验证程序

使用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

我正在使用jquery验证插件

我的qsn与此答案相关

,

主要是我需要给出一个函数,基于一些规则需要或不需要。不同之处在于,我需要并且在php中有作为数组的规则,如

$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);