我使用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()) {
我做错了什么?
答案 0 :(得分:1)
问题是Yii总是在validation()方法上运行两次验证,并且在save期间再次执行验证,这导致第一次验证成功但第二次验证失败。 因此,对于第二种情况,您需要保存而不运行验证,这会保存(false)。
第二个机会可能是在safe()方法之前取消验证验证码。