Rumah rangka kerja php YII Pengesahan borang dalam rangka kerja Yii: memastikan data input adalah betul

Pengesahan borang dalam rangka kerja Yii: memastikan data input adalah betul

Jun 21, 2023 am 08:16 AM
pengesahan borang rangka kerja yii Masukkan data

Rangka 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:

  1. 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, '用户名或密码不正确');
        }
    }
}
Salin selepas log masuk

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.

  1. 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(); ?>
Salin selepas log masuk

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.

  1. 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()) {
    // 验证通过,处理表单数据
}
Salin selepas log masuk

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.

  1. 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(); ?>
Salin selepas log masuk

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:

  1. Takrif pengesahan peraturan perlu mengikut Spesifikasi tertentu, seperti format tatasusunan mesti digunakan, nama medan mesti konsisten dengan nama atribut dalam model, dsb.
  2. Apabila melakukan pengesahan borang, anda perlu menggunakan kaedah $model->validate() untuk pengesahan Apabila pengesahan gagal, mesej ralat akan disimpan secara automatik dalam model.
  3. Dalam paparan, anda boleh menggunakan kaedah $form->errorSummary($model) untuk memaparkan semua mesej ralat pengesahan.
  4. 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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan Flask-WTF untuk melaksanakan pengesahan borang Cara menggunakan Flask-WTF untuk melaksanakan pengesahan borang Aug 03, 2023 pm 06:53 PM

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

Cara mengendalikan pengesahan borang menggunakan middleware dalam Laravel Cara mengendalikan pengesahan borang menggunakan middleware dalam Laravel Nov 02, 2023 pm 03:57 PM

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.

Bagaimana untuk melaksanakan pengesahan borang untuk aplikasi web menggunakan Golang Bagaimana untuk melaksanakan pengesahan borang untuk aplikasi web menggunakan Golang Jun 24, 2023 am 09:08 AM

Pengesahan borang adalah pautan yang sangat penting dalam pembangunan aplikasi web Ia boleh menyemak kesahihan data sebelum menyerahkan data borang untuk mengelakkan kelemahan keselamatan dan ralat data dalam aplikasi. Pengesahan borang untuk aplikasi web boleh dilaksanakan dengan mudah menggunakan Golang Artikel ini akan memperkenalkan cara menggunakan Golang untuk melaksanakan pengesahan borang untuk aplikasi web. 1. Elemen asas pengesahan borang Sebelum memperkenalkan cara melaksanakan pengesahan borang, kita perlu mengetahui apakah elemen asas pengesahan borang. Unsur bentuk: unsur bentuk ialah

Petua pengesahan borang PHP: Cara menggunakan fungsi filter_input untuk mengesahkan input pengguna Petua pengesahan borang PHP: Cara menggunakan fungsi filter_input untuk mengesahkan input pengguna Aug 01, 2023 am 08:51 AM

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,

Kaedah pengesahan dan penapisan borang dalam PHP? Kaedah pengesahan dan penapisan borang dalam PHP? Jun 29, 2023 pm 10:04 PM

PHP ialah bahasa skrip yang digunakan secara meluas dalam pembangunan web, dan pengesahan dan penapisan bentuknya merupakan bahagian yang sangat penting. Apabila pengguna menyerahkan borang, data yang dimasukkan oleh pengguna perlu disahkan dan ditapis untuk memastikan keselamatan dan kesahihan data. Artikel ini akan memperkenalkan kaedah dan teknik tentang cara melaksanakan pengesahan dan penapisan borang dalam PHP. 1. Pengesahan borang Pengesahan borang merujuk kepada menyemak data yang dimasukkan oleh pengguna untuk memastikan data mematuhi peraturan dan keperluan tertentu. Pengesahan borang biasa termasuk pengesahan medan yang diperlukan, format e-mel dan format nombor telefon mudah alih.

Perisian tengah rangka kerja Yii: menyediakan sokongan storan data berbilang untuk aplikasi Perisian tengah rangka kerja Yii: menyediakan sokongan storan data berbilang untuk aplikasi Jul 28, 2023 pm 12:43 PM

Perisian tengah rangka kerja Yii: menyediakan sokongan storan data berbilang untuk aplikasi Pengenalan Middleware (perisian tengah) ialah konsep penting dalam rangka kerja Yii, yang menyediakan sokongan storan data berbilang untuk aplikasi. Middleware bertindak seperti penapis, memasukkan kod tersuai antara permintaan dan respons aplikasi. Melalui perisian tengah, kami boleh memproses, mengesahkan, menapis permintaan, dan kemudian menyerahkan hasil yang diproses kepada perisian tengah atau pengendali akhir yang seterusnya. Middleware dalam rangka kerja Yii sangat mudah digunakan

Cara menggunakan rangka kerja Yii dalam PHP Cara menggunakan rangka kerja Yii dalam PHP Jun 27, 2023 pm 07:00 PM

Dengan perkembangan pesat aplikasi web, pembangunan web moden telah menjadi kemahiran penting. Banyak rangka kerja dan alatan tersedia untuk membangunkan aplikasi web yang cekap, antaranya rangka kerja Yii adalah yang sangat popular. Yii ialah rangka kerja PHP berasaskan komponen berprestasi tinggi yang menggunakan corak dan teknologi reka bentuk terkini, menyediakan alatan dan komponen yang berkuasa serta sesuai untuk membina aplikasi web yang kompleks. Dalam artikel ini, kita akan membincangkan cara menggunakan rangka kerja Yii untuk membina aplikasi web. Pasang rangka kerja Yii dahulu,

Langkah-langkah untuk melaksanakan caching halaman web dan chunking halaman menggunakan rangka kerja Yii Langkah-langkah untuk melaksanakan caching halaman web dan chunking halaman menggunakan rangka kerja Yii Jul 30, 2023 am 09:22 AM

Langkah-langkah untuk melaksanakan caching halaman web dan chunking halaman menggunakan rangka kerja Yii Pengenalan: Semasa proses pembangunan web, untuk meningkatkan prestasi dan pengalaman pengguna tapak web, selalunya perlu untuk cache dan chunk halaman. Rangka kerja Yii menyediakan fungsi caching dan reka letak yang berkuasa, yang boleh membantu pembangun melaksanakan caching halaman web dan chunking halaman dengan pantas Artikel ini akan memperkenalkan cara menggunakan rangka kerja Yii untuk melaksanakan caching halaman web dan chunking halaman. 1. Hidupkan caching halaman web Dalam rangka kerja Yii, caching halaman web boleh dihidupkan melalui fail konfigurasi. Buka fail konfigurasi utama co

See all articles