[yii2] Membuat Form Login dengan Captcha

17 April 2021

Home » Blog » Teknologi » [yii2] Membuat Form Login dengan Captcha

Menambahkan ke cukup mudah dan dapat dilakukan dalam tiga langkah:

  1. Pada models/LoginForm.php Anda harus menambahkan field dan rules validasi.
  2. Dalam views/site/login.php Anda harus manampilkan field .
  3. Pada controllers/SiteController.php Anda harus menambahkan captcha action.

Dalam tutorial ini, saya ingin menunjukkan kepada Anda cara membuat captcha di , tetapi Anda dapat menambahkan captcha ke form apa pun dengan mengikuti langkah-langkah ini.

TOP TUTORIALS:  Kode Blue Screen of Dead (BSOD) pada Windows

1. Menambahkan field captcha dan rules validasi pada models/LoginForm.php

Pertama-tama Anda perlu mengubah form login seperti yang dijelaskan di atas. Kemudian, Anda harus menambahkan properti publik bernama verifyCode dan rules validasinya.

class LoginForm extends Model
{
	.............
	.............
    public $verifyCode;
	.............

    public function rules()
    {
        return [
            .............
            .............

            ['verifyCode', 'required'],
            ['verifyCode', 'captcha'],
			
            .............
            .............
        ];
    }
	.............
	.............	
}

2. Menambahkan widget pada views/site/login.php

.............
.............

............. .............
'login-form']); ?> ............. ............. = $form->field($model, 'verifyCode')->widget(\yii\captcha\Captcha::class) ?> ............. .............

3. Menambahkan action pada controller/SiteController.php

Agar captcha berfungsi, Anda harus menambahkan action captcha ke controllers/SiteController.php. Mungkin action tersebut sudah ada karena templat aplikasi Yii2 standar menambahkannya secara otomatis.

.............
.............

class SiteController extends Controller
{
	.............
	.............
	
    public function actions()
    {
        return [
			.............
			.............
			
            'captcha' => [
                'class' => 'yii\captcha\CaptchaAction',
            ],
			.............
			.............
        ];
    }
	
	.............
	.............	
}

0 Komentar