Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk menggunakan pengesahan borang dan mesej ralat dalam rangka kerja Kohana?
Dalam rangka kerja Kohana, pengesahan borang dan mesej ralat adalah ciri yang sangat penting. Mereka boleh membantu kami mengesahkan kesahihan data borang di bahagian pelayan dan memberikan mesej ralat mesra kepada pengguna. Artikel ini akan menerangkan cara menggunakan pengesahan borang dan mesej ralat dalam rangka kerja Kohana.
Rangka kerja Kohana menyediakan Pengesahan kelas pengesahan yang berkuasa yang boleh digunakan untuk mengesahkan kesahihan data borang. Dalam pengawal kita boleh menentukan peraturan pengesahan borang. Sebagai contoh, kami mempunyai borang pendaftaran yang mengandungi nama pengguna, kata laluan dan alamat e-mel. Kita boleh mentakrifkan peraturan pengesahan borang menggunakan kod berikut:
$validation = Validation::factory($_POST) ->rule('username', 'not_empty') ->rule('password', 'not_empty') ->rule('email', 'not_empty') ->rule('email', 'email');
Dalam kod di atas, kita mula-mula mencipta objek Pengesahan yang akan mendapatkan data borang daripada tatasusunan $_POST. Kemudian kami menentukan peraturan pengesahan untuk setiap medan borang. Dalam contoh ini, kami memerlukan nama pengguna, kata laluan dan alamat e-mel tidak boleh kosong dan alamat e-mel mestilah dalam format yang sah.
Setelah kami menentukan peraturan pengesahan, kami boleh mengesahkan data borang menggunakan kaedah semak(). Sebagai contoh, kod berikut akan mengesahkan data borang:
if ($validation->check()) { // 表单数据有效,可以进行下一步操作 } else { // 表单数据无效,需要返回错误消息给用户 }
Kaedah semak() akan kembali benar jika data borang adalah sah, palsu sebaliknya.
Jika data borang tidak sah, kami perlu mengembalikan mesej ralat mesra kepada pengguna. Kami boleh menggunakan kaedah errors() untuk mendapatkan semua mesej ralat, contohnya:
$errors = $validation->errors('register');
Dalam kod di atas, kami mendapat mesej ralat yang berkaitan dengan borang log masuk dengan menyatakan senario pengesahan 'log masuk'. Jika kami tidak menentukan senario pengesahan, semua mesej ralat akan dikembalikan.
Jika anda ingin mendapatkan mesej ralat medan borang tertentu, anda boleh menggunakan parameter kedua kaedah ralat(). Contohnya:
$errors = $validation->errors('register', 'email');
Dalam kod di atas, kami hanya mendapat mesej ralat yang berkaitan dengan alamat e-mel.
Akhir sekali, kami perlu memaparkan mesej ralat kepada pengguna untuk memberitahu mereka medan borang yang menghadapi masalah. Dalam rangka kerja Kohana, anda boleh menggunakan pembungkus mesej untuk memaparkan mesej ralat. Contohnya:
echo Form::open(); echo Form::label('username', 'Username'); echo Form::input('username', $username); echo '<div class="error">'; echo Form::input('password', $password); if (isset($errors['password'])) { echo Form::message('password', $errors['password']); } echo '</div>'; echo Form::label('email', 'Email'); echo Form::input('email', $email); echo '<div class="error">'; if (isset($errors['email'])) { echo Form::message('email', $errors['email']); } echo '</div>'; echo Form::submit('submit', 'Register'); echo Form::close();
Dalam kod di atas, kami menggunakan pembungkus Borang untuk mencipta elemen borang dan menambah pembungkus div dengan 'ralat' kelas di luarnya. Jika mesej ralat yang berkaitan dengan elemen borang wujud, panggil kaedah Form::message() dalam pembungkus untuk memaparkan mesej ralat.
Ringkasan
Sangat mudah untuk menggunakan rangka kerja Kohana untuk pengesahan borang dan pengendalian mesej ralat. Kami mula-mula mentakrifkan peraturan pengesahan borang melalui kelas Pengesahan, dan kemudian menggunakan kaedah semak() untuk mengesahkan kesahihan data borang. Jika data borang tidak sah, kita boleh menggunakan kaedah ralat() untuk mendapatkan mesej ralat dan kemudian gunakan pembalut mesej untuk memaparkan mesej ralat dalam borang. Dengan langkah ini, kami boleh memastikan data borang kami sah dan menyediakan mesej ralat yang mesra pengguna.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan pengesahan borang dan mesej ralat dalam rangka kerja Kohana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!