yii 版本2.08
yii 验证码问题
1.模型里加入'verifyCode', 'captcha','message'=>'error','captchaAction' => 'test/captcha'
* 这个要配置指定的方法'captchaAction' => 'test/captcha'(这个是自己的控制器的)
* 2.在控制器里的actions 添加验证码的配置
* 'captcha' => [
'class' => 'yii\captcha\CaptchaAction',
'maxLength' => 4,
'minLength' => 4,
'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
],
*
* 3.在前台的页面里调用验证码时加多一个'captchaAction' => 'test/captcha'(这个是自己的控制器的,跟上面的一致)配置
* 完成
自定义验证规则问题:
1.mode rules 如:['password','my(自定义的验证规则)'],
2.写这个方法
public function my($attribute , $params)
{
if(!preg_match("/^[\w]{6,20}$/" , $this->$attribute)){
$this->addError($attribute , '用户名必须为6~20的数字或字母');
}
}
说明:这个只能在提交后才能验证
3.在控制器里调用这个模型时
$model = new RegisterForm();
if($model->load(Yii::$app->request->post()) && $model->validate() )
这个$model->validate()必须在加入,我之前没有加入一直不成功