Как в yii2 использовать reCaptcha?

Я использую библиотеку https://github.com/himiklab/yii2-recaptcha-widget

В моделе:
class MyClass extends \yii\db\ActiveRecord
{
   public $reCaptcha;

    public function rules()
    {
        return [
            [['reCaptcha'], \himiklab\yii2\recaptcha\ReCaptchaValidator::className(),
            	'secret' => 'secretkey',
            	'uncheckedMessage' => 'Пожалуйста, подтвердите, что вы не робот.']
        ];
    }


Во View:
<?= $form->field($model, 'reCaptcha')->widget(\himiklab\yii2\recaptcha\ReCaptcha::className()) ?>


Всё работает прекрасно!
Но мне нужно рекапчу в форме кидать не всегда, а только в некоторых случаях.
Что-то типа:
<?php echo $captcha ?
    $form->field($model, 'reCaptcha')->widget(\himiklab\yii2\recaptcha\ReCaptcha::className()) : " " ?>


Как это реализовать? Если сделать, как выше, просто не выводить рекапчу во вью, то модель не сохраниться. Будет ошибка:
["reCaptcha"]=>
    array(1) {
      [0]=>
      string(55) "Неправильный проверочный код."
    }


Как это лучше реализовать?
  • Вопрос задан
  • 2560 просмотров
Решения вопроса 1
qonand
@qonand
Software Engineer
используйте сценарии
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы