我有一个CActiveForm
总结:
.
.
.
'id'='email-form',
'enableAjaxValidation`=>true,
'clientOptions' => array('validateOnSubmit'=>true),
.
.
.
现在我打算在服务器端收集表单错误并将其发送json object
给客户端。在客户端有一个 Jquery 函数来解析json object(form Errors)
和设置数据到 errorSummary,最后显示表单的 errorSummary。
我已经完成了,没有任何问题,我的问题是以下函数不会收集表单错误:
protected function getErrorSummary($model)
{
if(isset($_POST['ajax']) && $_POST['ajax']==='email-form'){
$errors=CActiveForm::validate($model);
if($errors !== '[]')
Yii::app()->end($errors);
}
}
但以下收集表单错误:
protected function getErrorSummary($model)
{
$errors=CActiveForm::validate($model);
if($errors !== '[]')
Yii::app()->end($errors);
}
请注意,这两个函数都真正作用于validateOnChange
.