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();
}
}
YII框架表单AJAX验证

本文介绍如何在YII框架中使用表单进行AJAX验证,包括配置TbActiveForm组件、设置clientOptions选项及enableAjaxValidation属性,确保表单提交前的数据校验流程正确实现。
789

被折叠的 条评论
为什么被折叠?



