cari
Rumahrangka kerja phpThinkPHPBagaimanakah saya boleh membuat dan menggunakan peraturan pengesahan tersuai di ThinkPhp?

Mencipta dan menggunakan peraturan pengesahan tersuai dalam ThinkPhp

ThinkPhp menawarkan sistem pengesahan fleksibel yang membolehkan anda menentukan peraturan pengesahan tersuai di luar pilihan terbina dalam. Ini dicapai terutamanya melalui kelas Validate dan kaedah yang berkaitan. Anda boleh membuat peraturan pengesahan tersuai dengan memperluaskan kelas Think \ Validate atau dengan menentukan peraturan pengesahan dalam model atau pengawal anda.

Mari kita menggambarkan dengan contoh. Katakan kami memerlukan peraturan untuk mengesahkan alamat e -mel terhadap domain tertentu, katakan example.com . Kita boleh membuat peraturan pengesahan tersuai seperti ini:

 <code class="php"> & lt ;? php namespace app \ validate; Gunakan berfikir \ validate; Kelas Uservalidate memanjangkan Validate {dilindungi $ peraturan = ['email' = & gt; 'Memerlukan | e -mel | domain: example.com',]; dilindungi $ message = ['email' = & gt; ['memerlukan' = & gt; 'E -mel diperlukan', 'e -mel' = & gt; 'Format e -mel tidak sah', 'domain: example.com' = & gt; 'E -mel mestilah dari example.com',],]; domain fungsi yang dilindungi ($ nilai, $ peraturan, $ data = []) {return strpos ($ nilai, '@example.com')! == false; }} </code> 

Dalam contoh ini, kami menentukan peraturan domain dalam kelas uservalidate . Kaedah domain memeriksa jika alamat e -mel mengandungi @example.com . Peraturan tersuai ini kemudiannya digunakan dalam array aturan bersama-sama dengan peraturan dan e-mel ThinkPHP. Arahan menyediakan mesej ralat tersuai untuk setiap peraturan. Untuk menggunakan pengesahan ini, anda hanya akan memberi instantiasi kelas uservalidate dan jalankan check method.

 <code class="php"> $ validate = new \ app \ validate \ uservalidate (); jika ($ validate- & gt; check (['email' = & gt; 'test@example.com'])) {// pengesahan lulus} else {// validation gagal; $ validate- & gt; getError () akan mengembalikan mesej ralat. } </code> 

Amalan terbaik untuk melaksanakan peraturan pengesahan tersuai

Mengekalkan kod yang bersih dan boleh diguna semula adalah penting untuk kejayaan projek jangka panjang. Berikut adalah beberapa amalan terbaik untuk melaksanakan peraturan pengesahan tersuai dalam ThinkPhp:

  • Pemisahan kebimbangan: Buat kelas pengesahan berasingan untuk model atau kumpulan model yang berbeza. Ini meningkatkan organisasi dan kebolehgunaan semula. Elakkan Cramming Semua logik pengesahan ke dalam satu kelas.
  • Penamaan deskriptif: Gunakan nama yang jelas dan deskriptif untuk kelas dan kaedah pengesahan anda. Ini meningkatkan kebolehbacaan dan pemahaman. Sebagai contoh, bukannya validate_user , gunakan uservalidate .
  • Pengendalian ralat yang konsisten: Sentiasa memberikan mesej ralat bermaklumat untuk pengesahan yang gagal. Gunakan array di kelas anda untuk menentukan mesej ralat tersuai. Ini amat penting untuk logik pengesahan kompleks. Ini membantu dalam mengekalkan dan kerjasama.
Anda boleh menggabungkan peraturan tersuai dengan lancar dengan peraturan terbina dalam ThinkPhp dalam kelas dari kelas Validate anda. ThinkPHP akan melaksanakan kedua-dua peraturan adat dan terbina dalam dalam perintah yang ditentukan. Ini membolehkan pendekatan pengesahan yang fleksibel dan berkuasa. 'Memerlukan | e -mel | domain: example.com | unik: pengguna',]; ​​

anda untuk memperluaskan peraturan yang sedia ada untuk membuat pengesahan tersuai yang lebih kompleks. Ini dilakukan dengan mengatasi atau memperluaskan kaedah pengesahan sedia ada dalam kelas validate adat anda. Ini menyediakan mekanisme yang kuat untuk menyesuaikan keupayaan pengesahan ThinkPHP kepada keperluan khusus anda. Anda boleh membuat kaedah tersuai:

 <code class="php"> fungsi lengthWithChars yang dilindungi ($ nilai, $ peraturan, $ data = []) {list ($ min, $ max, $ chars) = explode (',', $ peraturan); $ len = mb_strlen ($ nilai); jika ($ len & lt; $ min || $ len & gt; $ max) kembali false; foreach (str_split ($ chars) sebagai $ char) {if (strpos ($ nilai, $ char) === false) kembali palsu; } kembali benar; } </code> 

maka anda boleh menggunakannya dalam array array anda:

 <code class="php"> dilindungi $ peraturan = ['password' = & gt; 'LengthWithChars: 8,20, a, a, 1', // kata laluan mestilah 8-20 aksara panjang dan mengandungi sekurang-kurangnya satu huruf besar A, satu huruf kecil A, dan satu digit 1.]; Ingatlah untuk sentiasa mengendalikan kesilapan yang berpotensi dengan anggun dan memberikan maklum balas yang bermaklumat kepada pengguna. </code>

Atas ialah kandungan terperinci Bagaimanakah saya boleh membuat dan menggunakan peraturan pengesahan tersuai di ThinkPhp?. 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

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.