Yii ajax验证don';t显示错误消息


Yii ajax validation don't show error message

当我通过Ajax验证表单时,我遇到了显示错误消息的问题。Ajax验证工作正常,但不会显示错误消息。在控制台中,当我键入时,我也会收到验证错误消息

<?php echo $form->errorSummary($model); ?>

它还显示所有错误消息,但我需要显示与模型的适当属性相对应的每条消息。所以这个:

<?php echo $form->error($model, 'date_check_in') ?>

不显示错误消息。这是的一张表格

<?php $form = $this->beginWidget('CActiveForm', array(
'id' => 'form-main',
'action' => Yii::app()->createUrl('/kolobok/default/order'),
'htmlOptions' => array(
    'class' => 'form-horizontal',
),
'enableAjaxValidation'=>true,
'enableClientValidation'=>false,
'clientOptions'=>array(
    'validateOnSubmit'=>true,
    'validateOnChange'=>false,
    'validateOnType'=>false,
    'afterValidate' => 'js: function(form, data, hasError) {
                if (data == null) return true;
       if (data.length && data.length > 0) return false;
       if (data.length === 0)  return true;
       for (var key in data) {
           if (hasOwnProperty.call(data, key)) return false;
       }
       return true;
   }'
),
)); ?>

我的行动:

    public function actionOrder()
{
    $model=new Order;
    if(isset($_POST['ajax']) && $_POST['ajax']==='form-main')
    {
        echo CActiveForm::validate($model);
        Yii::app()->end();
    }
    if(isset($_POST['Order']))
    {
        $model->attributes=$_POST['Order'];
        if( $model->save()){
            Yii::app()->user->setFlash('success', "Data1 saved!");
            $this->redirect(Yii::app()->request->urlReferrer);
        }
    }
}

此外,通过小部件进行表单显示。我做错了什么?

问题出现在输入字段的id中。我删除了id,这很有帮助!