Pengesahan borang dalam Laravel: memastikan kesahihan data yang diserahkan pengguna
Pengenalan:
Dalam aplikasi web moden, kesahihan data yang dimasukkan pengguna adalah sangat penting. Jika input pengguna tidak disahkan, aplikasi anda mungkin terdedah kepada serangan berniat jahat, rasuah data atau kelemahan keselamatan. Sebagai rangka kerja PHP yang sangat baik, Laravel menyediakan fungsi pengesahan bentuk yang berkuasa dan fleksibel, membantu kami mengesahkan dan menapis data yang diserahkan pengguna dengan mudah untuk memastikan ketepatan dan kesahihannya.
1. Pengenalan kepada pengesahan borang dalam Laravel
Pengesahan borang dalam Laravel dilaksanakan dengan menggunakan Kelas Permintaan Borang. Kelas permintaan borang ialah pengesah yang disediakan oleh Laravel untuk mengesahkan data borang yang diserahkan oleh pengguna. Kita boleh menggunakan kelas ini untuk menentukan peraturan pengesahan, mesej ralat tersuai dan mengendalikan logik pasca pengesahan. Berikut ialah contoh mudah:
<?php namespace AppHttpRequests; use IlluminateFoundationHttpFormRequest; class RegisterRequest extends FormRequest { public function authorize() { return true; } public function rules() { return [ 'name' => 'required', 'email' => 'required|email', 'password' => 'required|min:8', ]; } public function messages() { return [ 'name.required' => '用户名不能为空', 'email.required' => '邮箱不能为空', 'email.email' => '邮箱格式不正确', 'password.required' => '密码不能为空', 'password.min' => '密码长度不能少于8个字符', ]; } }
Dalam contoh di atas, kami mencipta kelas permintaan borang yang dipanggil RegisterRequest. Dalam kelas ini kami mentakrifkan peraturan pengesahan dan mesej ralat tersuai. Khususnya, peraturan pengesahan memerlukan medan nama, medan e-mel dan medan kata laluan diperlukan. Pada masa yang sama, medan e-mel mestilah alamat e-mel yang sah, dan panjang minimum medan kata laluan ialah 8 aksara. Jika pengesahan gagal, kami juga boleh menentukan mesej ralat tersuai untuk memaparkan maklumat ralat dengan lebih baik kepada pengguna.
2. Cara menggunakan kelas permintaan borang
Menggunakan kelas permintaan borang dalam pengawal adalah sangat mudah. Kami hanya memerlukannya sebagai pembayang jenis parameter dalam kaedah pengawal. Rangka kerja Laravel akan melakukan pengesahan secara automatik berdasarkan peraturan pengesahan kelas permintaan borang. Jika pengesahan lulus, pengguna boleh terus memproses data yang diserahkan jika pengesahan gagal, pengguna akan dialihkan semula ke bentuk asal dan mesej ralat yang sepadan akan dipaparkan. Contohnya:
<?php namespace AppHttpControllers; use AppHttpRequestsRegisterRequest; class RegisterController extends Controller { public function store(RegisterRequest $request) { // 验证通过,处理用户提交数据 // ... } }
Dalam contoh di atas, kami mencipta kaedah yang dipanggil kedai dan menggunakan kelas RegisterRequest sebagai pembayang jenis parameter. Dengan cara ini, Laravel akan mengesahkan data yang diserahkan pengguna secara automatik berdasarkan peraturan pengesahan kelas RegisterRequest. Jika pengesahan berjaya, kami boleh mengendalikan logik data yang diserahkan pengguna dalam kaedah stor.
3. Peraturan pengesahan tersuai
Selain peraturan pengesahan lalai yang disediakan oleh Laravel, kami juga boleh menyesuaikan peraturan pengesahan dengan mudah. Laravel menyediakan cara mudah untuk menentukan peraturan pengesahan tersuai dengan menggunakan kaedah sambungan Validator
类的extend
. Ini contohnya:
<?php namespace AppProviders; use IlluminateSupportServiceProvider; use IlluminateSupportFacadesValidator; class AppServiceProvider extends ServiceProvider { public function boot() {
Atas ialah kandungan terperinci Pengesahan borang dalam Laravel: memastikan kesahihan data yang diserahkan oleh pengguna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!