Dalam rangka kerja Laravel, mengesahkan data yang dimasukkan pengguna adalah penting. Biasanya, Laravel menyediakan peraturan pengesahan bahasa Inggeris secara lalai, tetapi jika kita perlu menukar peraturan pengesahan kepada bahasa Cina, kita perlu melakukan beberapa langkah tambahan. Berikut akan memperkenalkan secara terperinci langkah-langkah untuk melaksanakan pengubahsuaian pengesahan bahasa Cina dalam Laravel dan memberikan contoh kod khusus.
Jika Laravel belum dipasang lagi, sila jalankan arahan berikut dalam baris arahan untuk memasang Laravel terlebih dahulu:
composer create-project --prefer-dist laravel/laravel your-project-name
Dalamsumber /lang/zh_CN< Cipta fail pek bahasa baharu
validation.php
dalam direktori /code>. Dalam fail ini, kami akan menambah peraturan pengesahan untuk terjemahan bahasa Cina.resources/lang/zh_CN
目录下创建一个新的语言包文件validation.php
。在这个文件中,我们会添加中文翻译的验证规则。
// resources/lang/zh_CN/validation.php return [ 'accepted' => ':attribute必须接受', 'active_url' => ':attribute不是一个有效的URL', 'after' => ':attribute必须是一个在 :date 之后的日期', // 添加更多的中文验证规则 ];
在config/app.php
文件的locale
设置为'zh_CN'
,以确保 Laravel 使用中文语言包进行验证规则的翻译。
'locale' => 'zh_CN',
在需要进行数据验证的地方,我们可以使用Laravel
提供的内置验证器Validator
来实现中文验证规则。
use IlluminateSupportFacadesValidator; public function validateData(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required|string|max:255', 'email' => 'required|email', // 更多的验证规则 ]); if ($validator->fails()) { return redirect()->back()->withErrors($validator)->withInput(); } // 验证通过的逻辑 }
在需要自定义中文错误信息的地方,可以通过扩展Validator
类来实现。新建一个中文验证器类ChineseValidator.php
// app/Validators/ChineseValidator.php namespace AppValidators; use IlluminateSupportMessageBag; use IlluminateValidationValidator; class ChineseValidator extends Validator { public function __construct(Translator $translator, array $data, array $rules, array $messages = [], array $customAttributes = []) { parent::__construct($translator, $data, $rules, $messages, $customAttributes); } protected function replaceXXX($message, $attribute, $rule, $parameters) { return str_replace(':xxx', '自定义中文错误信息', $message); } } // 在你的控制器或服务提供者中添加以下代码来覆盖 Laravel 自带验证器 $this->app['validator'] = $this->app->share(function ($app) { $validator = new ChineseValidator($app['translator'], $app); $validator->setPresenceVerifier($app['validation.presence']); return $validator; });
locale
dalam fail
config/app.php
kepada
'zh_CN'
kepada pastikan Laravel menggunakan pek bahasa Cina untuk terjemahan peraturan pengesahan.
rrreee
Langkah 4: Gunakan peraturan pengesahan bahasa CinaDi mana pengesahan data diperlukan, kami boleh menggunakan pengesah terbina dalamLaravel
untuk melaksanakan peraturan pengesahan bahasa Cina. rrreeeLangkah 5: Sesuaikan mesej ralat CinaDi mana anda perlu menyesuaikan mesej ralat Cina, anda boleh berbuat demikian dengan melanjutkan kelas
Validator
. Buat kelas pengesah Cina baharu
ChineseValidator.php
, perkenalkan kelas ini dan sesuaikan mesej ralat bahasa Cina tertentu mengikut keperluan. rrreeeRingkasanMelalui langkah di atas, kami berjaya melaksanakan proses mengubah suai dan menggunakan peraturan pengesahan bahasa Cina dalam Laravel. Mula-mula, buat fail pek bahasa Cina, konfigurasikan pek bahasa Cina, dan gunakan peraturan pengesahan bahasa Cina Akhir sekali, anda boleh mengoptimumkan lagi pengalaman pengguna dengan menyesuaikan mesej ralat bahasa Cina. Saya harap kandungan di atas dapat membantu anda merealisasikan fungsi pengesahan dan pengubahsuaian bahasa Cina.
Atas ialah kandungan terperinci Langkah untuk melaksanakan pengubahsuaian pengesahan bahasa Cina dalam Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!