yii2中的Google重新验证始终失败

时间:2016-07-28 07:31:50

标签: yii2

我使用himiklab/yii2-recaptcha-widget。提交表单时,我总是收到验证错误。

{"captcha":["The verification code is incorrect."]}.

形式:

$form->field($model, 'captcha',['template' => "{input}\n{hint}\n{error}"])->widget(
            \himiklab\yii2\recaptcha\ReCaptcha::className(),
            [
            'siteKey' => <mysitekey>,
            'widgetOptions' => ['id'=>'recaptcha1']
            ]) 

控制器:

if(isset($_POST['Contact'])){
            if ($model->load(Yii::$app->request->post()) && $model->save()) {

我做错了什么?

1 个答案:

答案 0 :(得分:1)

问题是Yii总是在validation()方法上运行两次验证,并且在save期间再次执行验证,这导致第一次验证成功但第二次验证失败。 因此,对于第二种情况,您需要保存而不运行验证,这会保存(false)。

第二个机会可能是在safe()方法之前取消验证验证码。