view
在form表单里边
$form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
'type' => 'horizontal',
'id'=>'toolForm',
'method' => 'post',
'clientOptions' => array(
'validateOnSubmit' => true,
'validateOnChange' => false,
),
'enableAjaxValidation' => true,
'action' =>$this->createUrl("/sys/toolkits/".$this->getAction()->getId(),array('id'=>$model->id)),
'htmlOptions'=>array('enctype'=>'multipart/form-data'),
));
设置clientOptions和enableAjaxValidation
然后当在action里边需要ajax校验时候,需要id的时候,就必须在form里边的'action' =>$this->createUrl("/sys/toolkits/".$this->getAction()->getId(),array('id'=>$model->id)),添加id参数,如果不加,会报url错误,也就是$model=$this->loadModel($id);该$model会为空,导致错误
controller
$model=new Model();
$this->performAjaxValidation($model);
方法
protected function performAjaxValidation($model) {
if (isset($_POST['ajax']) && $_POST['ajax'] === 'createForm') {
echo CActiveForm::validate($model);
Yii::app()->end();
}
}