【发布时间】:2018-01-01 17:55:13
【问题描述】:
我的控制器总是提供不正确的验证码。请任何人帮助我。
当代码运行到 $model->validate() 时,验证码验证返回 true。 但在那之后,在 $model->save() 的过程中,验证码被改变了。并验证返回 false。
class SiteController extends Controller {
public function behaviors() {
return [
'access' => [
'class' => AccessControl::className(),
'only' => ['logout', 'signup'],
'rules' => [
[
'actions' => ['signup'],
'allow' => true,
'roles' => ['?'],
],
[
'actions' => ['logout', 'index'],
'allow' => true,
'roles' => ['@'],
],
],
],
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'logout',
],
],
];
}
public function actions() {
return [
'error' => [
'class' => 'yii\web\ErrorAction',
],
'captcha' => [
'class' => 'yii\captcha\CaptchaAction',
//'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
],
];
}
这是我的模特
public static function tableName() {
return 'users';
public function rules() {
return [
["captcha",'captcha']
];
}
这是我保存数据的用户控制器
class Users extends \yii\db\ActiveRecord {
class UserController extends Controller {
public function behaviors() {
return [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'delete' => ['post'],
],
],
];
}
public function actionCreate() {
$model = new Users();
$userLoginExist = Yii::$app->user->identity;
if(!$userLoginExist) {
if (Yii::$app->request->post()) {
if ($model->validate()&& $model->save()) {
}
}
}
}
}
【问题讨论】:
-
更新您的问题并添加相关操作..
-
如果我删除 "$model->validate()" 那么它的工作因为它不是验证所以。