如何使用带有字段名称和错误消息的数组使用Jquery验证来发出动态错误

时间:2017-06-13 08:59:12

标签: php jquery jquery-validate

在我的项目中,我从PHP获取字段验证错误作为数组。结构是

$error_array = [
    'field_name1' => 'Error 1',
    'field_name2' => 'Error 2',
    'field_name3' => 'Error 3',
    'field_name4' => 'Error 4',
    'field_name5' => 'Error 5',        
];
echo json_encode($error_array);

有没有办法使用jquery验证库在表单中放置这些错误?我试过,但没有得到任何解决方案。 现在我使用jquery识别每个字段并使用自定义函数放置错误。正在寻找一个简单的解决方案。

1 个答案:

答案 0 :(得分:0)

根据OP中的数组,JSON encoded版本看起来像这样......

{'field_name1':'Error 1','field_name2':'Error 2',...}

JSON编码数组的结构与messages.validate()对象的可接受结构完美对齐...

$('#myform').validate({
    // your rules & options,
    messages: {
        'field_name1': 'Error 1',
        'field_name2': 'Error 2',
        ....
    }
});

那么为什么你不能在加载页面时将echo消息放入JavaScript ...

$('#myform').validate({
    // your rules & options,
    messages: <?php echo json_encode($error_array); ?>
});

请注意,通常会在每个字段name下为每条消息分配到每个规则。在您的情况下,会为每个字段分配一条消息,因此相同的消息将用于一个字段上的所有规则