Yii框架 - 以JSON格式呈现表单验证结果?

时间:2014-08-01 08:34:51

标签: php json yii

我有表格,我喜欢显示错误消息&在更好的用户界面中纠正消息,例如带动画的图标。

在使用Yii框架时,错误渲染是由CActiveForm类控制的,我不知道即使在读取Model Class的代码之后我应该如何修改echo格式。

我知道你可以在模型类的rules()中设置一条消息,但是如果它通过了验证它就不会回显。当你需要硬编码json格式字符串作为参数时,我认为维护不是一个好主意,如

'message'=>'{"name":"userName","result":"fail","msg":"already taken"},'

1 个答案:

答案 0 :(得分:0)

是的,你可以 这是我朋友的一个例子

    header('Content-Type: application/json');
    $contactForm = new ContactForm();
    $contactForm->body = "somehint ";
    $contactForm->validate(); // returns boolean; true or false. returns true if everything is okay . else false

    echo json_encode($contactForm->errors);

在你的情况下,它会像这样

$myjsonValidationMessage = array();
$contactForm = new ContactForm();
if(!$contactForm->validate()){
$myjsonValidationMessage['message'] = $contactForm->errors;
echo json_encode($myjsonValidationMessage);
}