yii中关于CFormModel中的enableClientValidation,设置客户端验证
经常像你注册页面,你可能非常希望只需要Ajax去验证用户名和Email,而不需要使用Ajax再去验证密码,默认如果你使用Yii 内置的ajax验证Form,例如:
$form=$this->beginWidget('CActiveForm', array(
'id'=>'usuario-form',
'enableClientValidation'=>true,
'enableAjaxValidation' => true,
'clientOptions' => array(
'validateOnSubmit' => true,
),
'focus' => array($model, 'login'),
));
设置客户端验证红色字体是关键
这样将使用Ajax验证页面所有的字段,包括一些不需要使用Ajax的验证,像Password字段.
解决办法:
http://www.yiiframework.com/doc/api/1.1/CActiveForm#error-detail
查看上面的文档,看error方法的签名和参数.
public
string error(CModel $model, string $attribute, array $htmlOptions=array
( ), boolean $enableAjaxValidation=true, boolean
$enableClientValidation=true)
第四个参数告诉我们,如果这个字段不需要Ajax验证,加上false即可.
<?php echo $form->error($model,'name', array(), false); ?>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步