问题:
在做一个需求时,发现输入正确验证码,但是都提示验证码错误。
代码示例:
// 如果这里用到了验证码,就会出问题 $model = new Test(); $model->validate(); $model->save();
(推荐教程:yii框架)
原因:
如果 Model 在 save 前,单独做了 validate 验证,则在验证结束后,会重新生成验证码。然后在我们 Model save 时,也会进行 validate 验证,验证时,验证码已经重新生成了,所以会匹配不上。
解决方法:
// 这样是正确的 $model = new Test(); // 把需要验证的 attribute 放进去,排除验证码字段 $model->validate(array('test1','test2')); $model->save()