我想在输出错误消息时将语言环境切换到另一种语言。现在,默认值始终是英语的默认语言。
在我的路由文件中,我得到了:
Route::get('/{locale}/contact', [
'uses' => 'ContactController@create' ])->name('contact');
Route::post('/contact', [
'uses' => 'ContactController@store' ]);
在联系人控制器内部:
public function store(ContactFormRequest $request)
{
... ... ...
}
在 ContactFormRequest 中,如果我添加"App::getLocale('tc'(,它会将验证语言更改为'tc',而不是默认的英语'en'。
class ContactFormRequest extends FormRequest
{
public function rules()
{
App::getLocale('tc');
return [
'name' => 'required',
'message' => 'required',
'email' => 'required_without:number',
'number' => 'required_without:email',
];
}
}
我的问题是如何检测区域设置并将当前区域设置传递到 ContactFormRequest 中,以便切换到不同的验证语言。
在 laravel 文档中查看此部分。
您可以使用自定义内联消息,或者更好的是为不同语言创建自己的验证文件resources/lang/xx/validation.php