


Pengesahan borang dalam rangka kerja Yii: memastikan data input adalah betul
Jun 21, 2023 am 08:16 AMRangka kerja Yii ialah rangka kerja pembangunan aplikasi web yang cekap dan fleksibel. Dalam rangka kerja Yii, pengesahan borang adalah bahagian penting untuk memastikan data yang dimasukkan oleh pengguna adalah betul. Artikel ini akan memperkenalkan pengesahan borang dan teknologi berkaitan dalam rangka kerja Yii.
1. Gambaran keseluruhan pengesahan borang
Pengesahan borang merujuk kepada pengesahan data input sebelum menyerahkannya untuk memastikan data mematuhi format dan keperluan yang ditetapkan. Dalam rangka kerja Yii, pengesahan borang boleh dilaksanakan melalui model Model adalah pembawa pemindahan data antara pengawal dan pandangan Model mentakrifkan medan data yang perlu disahkan dalam borang dan peraturan pengesahannya. Pengesahan borang boleh menghalang pengguna daripada memasukkan data haram dan melindungi aplikasi daripada serangan berniat jahat.
2. Operasi khusus pengesahan borang
Dalam rangka kerja Yii, pengesahan borang termasuk langkah berikut:
- Tentukan model
Dalam rangka kerja Yii, model ialah kelas dan perlu mewarisi kelas yii aseModel. Medan yang perlu disahkan dan peraturan pengesahannya perlu ditakrifkan dalam kelas model. Contohnya, kod berikut mentakrifkan kelas model bernama LoginForm, yang perlu mengesahkan nama pengguna dan kata laluan:
class LoginForm extends yiiaseModel { public $username; public $password; public function rules() { return [ [['username', 'password'], 'required'], ['password', 'validatePassword'], ]; } public function validatePassword($attribute, $params) { $user = User::findByUsername($this->username); if (!$user || !$user->validatePassword($this->password)) { $this->addError($attribute, '用戶名或密碼不正確'); } } }
Dalam kod di atas, kaedah rules() digunakan untuk mentakrifkan peraturan pengesahan dan ia mengembalikan tatasusunan , setiap elemen mewakili peraturan. Contohnya, ['username', 'required']
menunjukkan bahawa medan nama pengguna mesti diisi dan ['password', 'validatePassword']
menunjukkan bahawa kaedah validatePassword() mesti dipanggil untuk pengesahan. Dalam kaedah validatePassword(), $attribute mewakili nama atribut yang akan disahkan dan $params ialah parameter pilihan yang mewakili data lain untuk dihantar ke kaedah pengesahan.
- Buat borang
Selepas menentukan model, anda perlu mencipta borang dalam paparan dan mengikat model pada borang. Dalam rangka kerja Yii, borang boleh dibuat menggunakan kelas yiiwidgetsActiveForm. Sebagai contoh, kod berikut mentakrifkan borang yang mengandungi dua kotak input:
<?php $form = ActiveForm::begin(); ?> <?= $form->field($model, 'username') ?> <?= $form->field($model, 'password')->passwordInput() ?> <div class="form-group"> <?= Html::submitButton('登錄', ['class' => 'btn btn-primary']) ?> </div> <?php ActiveForm::end(); ?>
Dalam kod di atas, $model mewakili model yang akan diikat, $form->field($model, 'username')
digunakan untuk mencipta kotak input nama pengguna dan Bind ia ke medan nama pengguna dalam model. Begitu juga, $form->field($model, 'password')->passwordInput()
digunakan untuk mencipta kotak input kata laluan dan mengikatnya pada medan kata laluan dalam model.
- Lakukan pengesahan borang
Sebelum menyerahkan data borang, pengesahan borang diperlukan. Dalam rangka kerja Yii, anda boleh menggunakan kaedah $model->validate() untuk pengesahan. Contohnya, kod berikut mengesahkan data borang sebelum menyerahkannya:
$model = new LoginForm(); if ($model->load(Yii::$app->request->post()) && $model->validate()) { // 驗(yàn)證通過,處理表單數(shù)據(jù) }
Dalam kod di atas, $model->load(Yii::$app->request->post())
digunakan untuk memuatkan data borang ke dalam model dan $model->validate()
digunakan untuk mengesahkan sama ada data borang mematuhi peraturan yang ditetapkan model. Jika pengesahan lulus, anda boleh terus memproses data borang jika tidak, anda perlu kembali ke halaman borang dan memaparkan mesej ralat pengesahan.
- Tunjukkan mesej ralat
Apabila pengesahan borang gagal, mesej ralat yang sepadan perlu dipaparkan dalam paparan. Dalam rangka kerja Yii, semua mesej ralat boleh dipaparkan menggunakan kaedah $form->errorSummary($model)
. Contohnya, kod berikut memaparkan semua mesej ralat pengesahan di bahagian atas borang:
<?php $form = ActiveForm::begin(); ?> <?= $form->errorSummary($model) ?> <?= $form->field($model, 'username') ?> <?= $form->field($model, 'password')->passwordInput() ?> <div class="form-group"> <?= Html::submitButton('登錄', ['class' => 'btn btn-primary']) ?> </div> <?php ActiveForm::end(); ?>
Dalam kod di atas, $form->errorSummary($model)
digunakan untuk memaparkan semua mesej ralat pengesahan.
3. Langkah berjaga-jaga untuk pengesahan borang
Apabila menggunakan rangka kerja Yii untuk pengesahan borang, anda perlu memberi perhatian kepada perkara berikut:
- Takrif pengesahan peraturan perlu mengikut Spesifikasi tertentu, seperti format tatasusunan mesti digunakan, nama medan mesti konsisten dengan nama atribut dalam model, dsb.
- Apabila melakukan pengesahan borang, anda perlu menggunakan kaedah $model->validate() untuk pengesahan Apabila pengesahan gagal, mesej ralat akan disimpan secara automatik dalam model.
- Dalam paparan, anda boleh menggunakan kaedah
$form->errorSummary($model)
untuk memaparkan semua mesej ralat pengesahan. - Apabila melakukan pengesahan borang, anda boleh menggunakan kaedah validateAttribute() dalam model untuk mengesahkan satu medan, atau gunakan kaedah beforeValidate() dan afterValidate() dalam model untuk melaksanakan operasi lain sebelum dan selepas pengesahan .
Ringkasnya, pengesahan borang ialah fungsi yang sangat penting dalam rangka kerja Yii dan merupakan kunci untuk memastikan keselamatan dan pengendalian aplikasi web yang stabil. Apabila menggunakan rangka kerja Yii untuk membangunkan aplikasi web, anda perlu menggunakan sepenuhnya teknologi pengesahan borang untuk memastikan bahawa input data oleh pengguna berada dalam format yang betul, selamat dan boleh dipercayai.
Atas ialah kandungan terperinci Pengesahan borang dalam rangka kerja Yii: memastikan data input adalah betul. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan perisian tengah untuk mengendalikan pengesahan borang dalam Laravel, contoh kod khusus diperlukan Pengenalan: Pengesahan borang ialah tugas yang sangat biasa dalam Laravel. Untuk memastikan kesahihan dan keselamatan data yang dimasukkan oleh pengguna, kami biasanya mengesahkan data yang diserahkan dalam borang. Laravel menyediakan fungsi pengesahan borang yang mudah dan juga menyokong penggunaan perisian tengah untuk mengendalikan pengesahan borang. Artikel ini akan memperkenalkan secara terperinci cara menggunakan perisian tengah untuk mengendalikan pengesahan borang dalam Laravel dan memberikan contoh kod khusus.

Cara menggunakan Flask-WTF untuk melaksanakan pengesahan borang Flask-WTF ialah sambungan Flask untuk mengendalikan pengesahan borang web Ia menyediakan cara yang ringkas dan fleksibel untuk mengesahkan data yang diserahkan oleh pengguna. Artikel ini akan menunjukkan kepada anda cara menggunakan sambungan Flask-WTF untuk melaksanakan pengesahan borang. Pasang Flask-WTF Untuk menggunakan Flask-WTF, anda perlu memasangnya terlebih dahulu. Anda boleh menggunakan arahan pip untuk memasang: pipinstallFlask-WTF import modul yang diperlukan dalam F

Petua pengesahan borang PHP: Cara menggunakan fungsi filter_input untuk mengesahkan input pengguna Pengenalan: Apabila membangunkan aplikasi web, borang ialah alat penting untuk berinteraksi dengan pengguna. Mengesahkan input pengguna dengan betul adalah salah satu langkah utama untuk memastikan integriti dan keselamatan data. PHP menyediakan fungsi filter_input, yang boleh mengesahkan dan menapis input pengguna dengan mudah. Artikel ini akan memperkenalkan cara menggunakan fungsi filter_input untuk mengesahkan input pengguna dan memberikan contoh kod yang berkaitan. satu,

Cara mengendalikan borang jadual data besar dalam pemprosesan borang Vue Dengan pembangunan aplikasi web, pemprosesan borang jadual data besar telah menjadi salah satu keperluan biasa dalam pembangunan bahagian hadapan. Di bawah rangka kerja Vue, kami boleh mengoptimumkan prestasi dan pengalaman pengguna pemprosesan borang melalui beberapa petua dan amalan terbaik. Artikel ini akan memperkenalkan beberapa kaedah memproses borang jadual data besar, dengan contoh kod yang sepadan. 1. Pemuatan paging Apabila memproses borang data yang besar, masalah yang paling biasa ialah masa pemuatan data terlalu lama, menyebabkan halaman menjadi beku atau tidak bertindak balas. Untuk menyelesaikan masalah ini kita boleh

Pengesahan borang ThinkPHP6 dan pengesahan data: memastikan kesahihan data Dalam proses pembangunan aplikasi web, pengesahan borang adalah bahagian penting dalam memastikan kesahihan dan integriti data. Rangka kerja ThinkPHP6 menyediakan fungsi pengesahan borang dan pengesahan data yang berkuasa, yang boleh memudahkan proses pembangunan dan membantu kami mengurangkan berlakunya ralat dan kelemahan. 1. Pengisytiharan peraturan pengesahan pengesahan borang ThinkPHP6 menyokong penggunaan anotasi untuk mengisytiharkan peraturan pengesahan untuk kaedah permintaan pengawal. Kita boleh melakukan ini pada kaedah permintaan pengawal

Cara menggunakan rangka kerja Hyperf untuk pengesahan borang Pengenalan: Dengan pembangunan aplikasi web, pengesahan borang telah menjadi bahagian penting dalam memastikan ketepatan dan keselamatan data. Sebagai rangka kerja pembangunan PHP berprestasi tinggi, rangka kerja Hyperf menyediakan fungsi pengesahan borang yang berkuasa Artikel ini akan memperkenalkan cara menggunakan rangka kerja Hyperf untuk pengesahan borang dan menyediakan contoh kod khusus. 1. Pasang rangka kerja Hyperf: Gunakan Komposer untuk memasang: composercreate-proje

Apabila bersiap untuk temu bual dengan Rangka Kerja YII, anda perlu mengetahui perkara pengetahuan utama berikut: 1. Senibina MVC: Memahami karya kolaboratif model, pandangan dan pengawal. 2. Activerecord: Menguasai penggunaan alat ORM dan memudahkan operasi pangkalan data. 3. Widget dan pembantu: biasa dengan komponen terbina dalam dan fungsi penolong, dan dengan cepat membina antara muka pengguna. Menguasai konsep teras dan amalan terbaik ini akan membantu anda menonjol dalam wawancara.

Rangka kerja YII mengamalkan seni bina MVC dan meningkatkan fleksibiliti dan skalabilitasnya melalui komponen, modul, dan lain -lain. 1) Mod MVC membahagikan logik aplikasi ke dalam model, pandangan dan pengawal. 2) Pelaksanaan MVC YII menggunakan pemprosesan permintaan penghalusan tindakan. 3) YII menyokong pembangunan modular dan meningkatkan organisasi dan pengurusan kod. 4) Gunakan pengoptimuman pertanyaan cache dan pangkalan data untuk meningkatkan prestasi.
