Rumah > rangka kerja php > YII > Pengesah dalam rangka kerja Yii: memastikan ketepatan data

Pengesah dalam rangka kerja Yii: memastikan ketepatan data

WBOY
Lepaskan: 2023-06-21 08:35:09
asal
1453 orang telah melayarinya

Rangka kerja Yii ialah rangka kerja PHP berasaskan komponen berprestasi tinggi, boleh skala, yang disertakan dengan sejumlah besar alatan dan fungsi yang berkuasa, menjadikannya mudah untuk membina aplikasi web yang cekap. Salah satu komponen yang sangat penting ialah pengesah, yang digunakan terutamanya untuk memastikan ketepatan data. Dalam artikel ini, kami akan mendalami pengesah dalam rangka kerja Yii untuk memahami tujuannya, cara menggunakannya dan cara ia dilaksanakan.

1. Apakah itu pengesah

Pengesah merujuk kepada modul berfungsi yang digunakan untuk mengesahkan kesahihan data. Dalam rangka kerja Yii, terdapat terutamanya dua jenis pengesah: pengesah terbina dalam dan pengesah tersuai. Pengesah terbina dalam menyediakan beberapa peraturan pengesahan biasa, seperti keunikan, medan yang diperlukan, panjang, nombor, dsb. Pengesah tersuai ialah peraturan pengesahan yang pembangun boleh tulis sendiri, dan boleh direka bentuk dan dibangunkan mengikut keperluan sebenar projek. Menggunakan pengesah boleh mengurangkan beban kerja pembangun dalam menulis kod pengesahan dan meningkatkan kecekapan pembangunan dengan berkesan.

2. Tujuan pengesah

Dalam aplikasi web, kesahihan data adalah sangat kritikal. Jika data yang salah wujud dalam aplikasi, ia menjejaskan pengalaman pengguna, keselamatan data dan integriti data. Peranan pengesah adalah untuk memastikan kesahihan data dan menghalang pembangun daripada membuat kesilapan atau pengguna daripada sengaja mengganggu data. Menggunakan pengesah secara berkesan boleh menghalang isu keselamatan seperti suntikan SQL, serangan XSS, serangan CSRF, dsb., dan juga boleh membantu pembangun meningkatkan keteguhan dan kebolehselenggaraan kod mereka.

3. Cara menggunakan validator

Dalam rangka kerja Yii, menggunakan validator adalah sangat mudah. Anda hanya perlu mentakrifkan kaedah rules() dalam model dan nyatakan peraturan dan mesej ralat yang perlu disahkan. Berikut ialah kod contoh mudah:

public function rules()
{
    return [
        [['username', 'password'], 'required', 'message' => '必填项'],
        ['email', 'email', 'message' => '邮箱格式不正确'],
        ['username', 'unique', 'targetClass' => User::class, 'message' => '用户名已经被占用'],
        ['password', 'string', 'min' => 6, 'message' => '密码长度不能少于6位'],
        ['age', 'number', 'max' => 100, 'message' => '年龄不能超过100岁'],
    ];
}
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan beberapa peraturan pengesahan asas, seperti medan yang diperlukan, format e-mel, keunikan, panjang rentetan, nombor, dsb. Setiap peraturan mempunyai mesej ralat yang sepadan Apabila pengesahan data gagal, mesej ralat yang sepadan akan dikembalikan untuk memudahkan pembangun menyelesaikan masalah dan menyelesaikan masalah dengan cepat.

4. Pengesah tersuai

Selain pengesah terbina dalam yang disediakan dalam rangka kerja Yii, pembangun juga boleh menulis pengesah mereka sendiri mengikut keperluan sebenar. Berikut ialah contoh mudah pengesah tersuai:

class TelValidator extends Validator
{
    public $message = '无效的电话号码格式';

    public function validateAttribute($model, $attribute)
    {
        $value = $model->$attribute;
        if (!preg_match('/^(0d{2,3}-d{7,8})$|^1[3-9][0-9]{9}$/', $value)) {
            $this->addError($model, $attribute, $this->message);
        }
    }
}
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan pengesah tersuai untuk TelValidator, yang digunakan untuk mengesahkan bahawa format nombor telefon adalah betul. Apabila format nombor telefon tidak betul, mesej ralat "Format nombor telefon tidak sah" dikembalikan. Dengan cara ini kita boleh mengesahkan nombor telefon dengan mudah.

5 Prinsip pelaksanaan pengesah

Prinsip pelaksanaan pengesah dalam rangka kerja Yii adalah sangat mudah. Apabila kita memanggil kaedah save() ActiveRecord, rangka kerja Yii secara automatik akan memanggil kaedah validate() validator dan menghantar data yang perlu disahkan kepada kaedah validate() untuk semakan. Jika pengesahan data gagal, maklumat ralat yang sepadan akan disimpan dalam atribut $model->errors untuk dilihat dan diperbaiki oleh pembangun. Jika pengesahan data berjaya, operasi seterusnya akan diteruskan, seperti memasukkan, mengubah suai, memadam data, dsb.

6. Ringkasan

Dalam artikel ini, kami mempunyai perbincangan mendalam tentang pengesah dalam rangka kerja Yii dan memahami tujuan, penggunaan dan prinsip pelaksanaannya. Dengan menggunakan pengesah, kami boleh memastikan ketepatan dan keselamatan data dengan berkesan, meningkatkan kecekapan pembangunan dan keteguhan kod. Pada masa yang sama, kami juga memperkenalkan kaedah pembangunan pengesah tersuai Kami berharap pembaca akan memperoleh sesuatu dan dapat menggunakan pengetahuan ini dalam projek sebenar untuk membangunkan aplikasi web yang lebih cekap, selamat dan boleh dipercayai.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan