Menambahkan captcha ke form login cukup mudah dan dapat dilakukan dalam tiga langkah:
- Pada models/LoginForm.php Anda harus menambahkan field captcha dan rules validasi.
- Dalam views/site/login.php Anda harus manampilkan field captcha.
- Pada controllers/SiteController.php Anda harus menambahkan captcha action.
Dalam tutorial ini, saya ingin menunjukkan kepada Anda cara membuat captcha di form login, tetapi Anda dapat menambahkan captcha ke form apa pun dengan mengikuti langkah-langkah ini.
1. Menambahkan field captcha dan rules validasi pada models/LoginForm.php
class LoginForm extends Model { ............. ............. public $verifyCode; ............. public function rules() { return [ ............. ............. ['verifyCode', 'required'], ['verifyCode', 'captcha'], ............. ............. ]; } ............. ............. }
2. Menambahkan widget pada views/site/login.php
............. ............. <div class="site-login"> ............. ............. <div class="row"> <div class="col-lg-5"> <?php $form = ActiveForm::begin(['id' => 'login-form']); ?> ............. ............. <?= $form->field($model, 'verifyCode')->widget(\yii\captcha\Captcha::class) ?> ............. ............. <?php ActiveForm::end(); ?> </div> </div> </div>
Artikel Menarik Lainnya
3. Menambahkan action pada controller/SiteController.php
Agar captcha berfungsi, Anda harus menambahkan action captcha ke controllers/SiteController.php.
............. ............. class SiteController extends Controller { ............. ............. public function actions() { return [ ............. ............. 'captcha' => [ 'class' => 'yii\captcha\CaptchaAction', ], ............. ............. ]; } ............. ............. }