Rumah  >  Artikel  >  rangka kerja php  >  Pengesah untuk rangka kerja Yii: bagaimana untuk memastikan ketepatan data input

Pengesah untuk rangka kerja Yii: bagaimana untuk memastikan ketepatan data input

WBOY
WBOYasal
2023-06-21 16:36:091481semak imbas

Rangka kerja Yii ialah rangka kerja PHP yang cekap dan pantas yang menyediakan fungsi dan komponen yang kaya untuk membolehkan pembangun membina aplikasi web dengan pantas. Antaranya, pengesah adalah komponen yang sangat penting dalam rangka kerja Yii, yang boleh memastikan ketepatan data input. Artikel ini akan memperkenalkan cara pengesah rangka kerja Yii berfungsi dan cara menggunakan pengesah untuk memastikan ketepatan data input.

  1. Cara pengesah rangka kerja Yii berfungsi

Dalam rangka kerja Yii, pengesah ialah kelas yang digunakan untuk mengesahkan nilai atribut yang berkaitan dengan model. Pengesah menerima nilai atribut dan mengembalikan hasil pengesahan Jika nilai atribut itu sah, ia mengembalikan benar jika tidak, ia mengembalikan mesej ralat pengesahan. Pengesah boleh dilaksanakan sebelum atau selepas operasi pada model. Ini memastikan ketepatan data input.

Rangka kerja Yii menyediakan banyak pengesah yang dipratentukan. Pengesah ini boleh mengendalikan pelbagai jenis data seperti rentetan, nombor, tarikh, dsb. Selain itu, rangka kerja Yii menyediakan pengesah tersuai yang boleh dikonfigurasikan dan digunakan mengikut keperluan aplikasi.

  1. Penggunaan pengesah rangka kerja Yii

Pengesah rangka kerja Yii sangat mudah digunakan. Untuk menggunakan pengesah, anda hanya perlu menentukan peraturan atribut yang sepadan dalam model. Contohnya:

public function rules()
{
    return [
        [['username', 'email'], 'required'],
        ['email', 'email'],
        ['email', 'unique', 'targetClass' => 'ppmodelsUser', 'message' => 'This email address has already been taken.'],
    ];
}

Di sini, tatasusunan peraturan mengandungi berbilang peraturan. Peraturan pertama menentukan bahawa nama pengguna dan atribut e-mel diperlukan, dan peraturan kedua menentukan bahawa atribut e-mel mestilah alamat e-mel yang sah. Peraturan ketiga menentukan bahawa atribut e-mel mestilah unik apabila mencarinya dalam model Pengguna.

Seperti yang anda lihat, pengesah rangka kerja Yii mudah digunakan, tetapi ia juga sangat berkuasa. Sama ada menggunakan peraturan yang dipratentukan atau peraturan tersuai, pengesahan data hanya memerlukan konfigurasi mudah dalam model.

  1. Peraturan yang dipratentukan untuk pengesah rangka kerja Yii

Rangka kerja Yii menyediakan sejumlah besar peraturan pengesahan yang dipratentukan. Beberapa peraturan pengesahan biasa disenaraikan di bawah:

  • diperlukan: Menentukan bahawa atribut ini diperlukan
  • e-mel: Mengesahkan sama ada atribut ini ialah alamat e-mel yang sah; url: Sahkan sama ada atribut itu URL yang sah;
  • integer: Sahkan sama ada atribut itu ialah integer;
  • nombor: Sahkan sama ada atribut itu ialah nombor;
  • double : Sahkan sama ada atribut ialah nombor titik terapung berketepatan dua kali;
  • selamat: Menentukan bahawa atribut ini selamat dan tidak akan diserang dari Web.
  • Pengesah tersuai rangka kerja Yii
  • Dalam pembangunan sebenar, kami mungkin perlu mentakrifkan peraturan pengesahan tersuai mengikut keperluan aplikasi. Rangka kerja Yii menyediakan antara muka untuk pengesah tersuai, yang boleh melanjutkan dan menyesuaikan peraturan pengesahan dengan mudah.
    Berikut ialah contoh mentakrifkan peraturan pengesahan tersuai:
  1. public function rules()
    {
        return [
            ['verifyCode', 'validateCaptcha'],
        ];
    }
    
    public function validateCaptcha($attribute, $params)
    {
        $captcha = new yiicaptchaCaptchaAction();
        if (!$captcha->validate($this->$attribute)) {
            $this->addError($attribute, 'Captcha code is incorrect.');
        }
    }
  2. Di sini, kaedah validateCaptcha() mentakrifkan pengesah tersuai bernama verifyCode. Pengesah ini boleh mengesahkan sama ada kod pengesahan yang dimasukkan oleh pengguna adalah betul. Menambahkan mesej ralat pengesahan pada harta jika kod pengesahan tidak betul.

Ringkasan

Dalam rangka kerja Yii, pengesah adalah komponen penting untuk memastikan ketepatan data input. Menggunakan pengesah rangka kerja Yii boleh menghalang aplikasi daripada serangan keselamatan disebabkan oleh data input yang salah, di samping memastikan ketepatan data. Dengan menggunakan peraturan yang telah ditetapkan dan pengesah tersuai yang disediakan oleh rangka kerja Yii, pembangun boleh dengan cepat dan mudah melaksanakan pengesahan data.

Atas ialah kandungan terperinci Pengesah untuk rangka kerja Yii: bagaimana untuk memastikan ketepatan data input. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn