Я использую библиотеку
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) "Неправильный проверочный код."
}
Как это лучше реализовать?