Laravel ialah rangka kerja PHP yang berkuasa untuk membina aplikasi web berkualiti tinggi dengan cepat. Apabila pengguna log masuk ke sistem, Laravel menyediakan gesaan ralat secara lalai untuk membantu pengguna menyelesaikan masalah log masuk dengan cepat. Walau bagaimanapun, kadangkala mesej ralat mungkin tidak jelas atau cukup tepat untuk pengguna Artikel ini akan memperkenalkan cara menukar mesej ralat log masuk lalai Laravel dan cara menyesuaikan mesej ralat.
1. Tukar mesej ralat lalai
Apabila sistem pengesahan pengguna Laravel gagal untuk mengesahkan, sistem akan secara automatik memaparkan mesej ralat, biasanya serupa dengan berita "Bukti kelayakan ini tidak sepadan dengan rekod kami " . Walau bagaimanapun, mesej ralat lalai ini tidak cukup jelas dan mungkin mengelirukan pengguna.
Untuk menukar mesej ralat lalai, kami perlu mengubah suai beberapa kaedah dalam fail "appHttpControllersAuthLoginController.php" Laravel. Buka fail ini dan kami akan melihat kaedah berikut:
public function username() { return 'email'; } protected function credentials(Request $request) { return $request->only($this->username(), 'password'); } protected function sendFailedLoginResponse(Request $request) { throw ValidationException::withMessages([ $this->username() => [trans('auth.failed')], ]); }
Tiga kaedah di atas ialah kaedah pengesahan log masuk yang disediakan oleh Laravel secara lalai. Kami boleh menukar mesej ralat log masuk lalai Laravel melalui kaedah ini. Kami boleh menambah mesej ralat kami sendiri dalam kaedah "sendFailedLoginResponse":
protected function sendFailedLoginResponse(Request $request) { throw ValidationException::withMessages([ $this->username() => [trans('auth.failed') => '对不起,您的用户名或密码不正确'], ]); }
Dalam contoh di atas, kami menukar mesej ralat lalai Laravel kepada "Maaf, nama pengguna atau kata laluan anda tidak betul. ". Oleh itu, apabila pengguna cuba log masuk dengan nama pengguna atau kata laluan yang salah, mesej ralat yang lebih deskriptif akan dipaparkan.
2. Sesuaikan mesej ralat
Selain menggunakan mesej ralat yang lebih deskriptif, kami juga boleh menyesuaikan mesej ralat. Kami boleh menggunakan mesej ralat tersuai dalam peraturan pengesahan Laravel. Kami boleh menambah mesej ralat kami sendiri menggunakan kaedah "mesej" dalam peraturan pengesahan kami.
Berikut ialah contoh di mana kami mencipta peraturan pengesahan untuk pendaftaran pengguna baharu, yang mengandungi medan "nama", "e-mel" dan "kata laluan":
public function store(Request $request) { $validatedData = $request->validate([ 'name' => 'required', 'email' => 'required|email|unique:users', 'password' => 'required|min:8', ]); // Create user... }
Dalam peraturan ini, kami mengesahkan medan "nama", "e-mel" dan "kata laluan". Jika medan gagal pengesahan, mesej ralat lalai Laravel akan dipaparkan.
Jika kami perlu menyesuaikan mesej ralat, kami boleh menggunakan kaedah "mesej" untuk menyesuaikan mesej ralat untuk setiap medan. Berikut ialah contoh:
public function store(Request $request) { $validatedData = $request->validate([ 'name' => 'required', 'email' => 'required|email|unique:users', 'password' => 'required|min:8', ], [ 'name.required' => '请输入您的姓名。', 'email.required' => '请输入您的电子邮件地址。', 'email.email' => '无效的电子邮件地址。', 'email.unique' => '电子邮件地址已经存在。', 'password.required' => '请输入您的密码。', 'password.min' => '密码必须至少为8个字符。', ]); // Create user... }
Dalam contoh di atas, kami telah menyesuaikan mesej ralat untuk setiap medan. Jadi jika pengesahan gagal, sistem akan memaparkan mesej ralat dengan mesej ralat tersuai.
Ringkasan
Dalam artikel ini, kami mempelajari cara menukar mesej ralat log masuk lalai Laravel dan menyesuaikan mesej ralat peraturan pengesahan. Melalui kaedah ini, kami boleh memberikan pengguna mesej ralat yang lebih jelas dan berperikemanusiaan supaya pengguna dapat menyelesaikan isu log masuk dengan cepat. Pada masa yang sama, kami juga boleh menjadikan sistem lebih pintar dan cemerlang, dan menyediakan antara muka pengguna yang lebih mesra.
Atas ialah kandungan terperinci Mari kita bincangkan tentang menukar dan menyesuaikan gesaan ralat log masuk dalam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!