是否可以告訴Laravel驗證程序驗證使用哪種語言?指定Laravel驗證語言
我有一個應用程序,其中有英文文本,但對於某些表單,我需要用不同語言返回的字段的驗證錯誤。
我研究了一點,發現我可以只使用\App::setLocale('ro')
設置應用程序的語言,因此resources/lang/ro/validation.php
下的文件將被用於驗證,但我不想與setLocale
錘鍊。在最壞的情況下,我可以對它進行調整,並在驗證之前更改語言,並在驗證再次將其更改後重新使用,但似乎並不是一個好的解決方案。
我期待更多的東西是這樣的:
$this->validate($request, [
'title' => 'required',
'short' => 'required',
], 'lang_that_I_set_in_DB');
你能更多地討論這個? getTranslator()是我的自定義驗證器中的自定義方法嗎? –
「自定義驗證器」僅僅意味着您不能直接使用由特性「ValidatesRequests」提供的'validate()'方法。 'Validator :: make()'只返回'\ Illuminate \ Validation \ Validator'的一個實例,所以你可以手動設置譯碼器區域設置。然後你可以使用'ValidatesRequest :: validateWith()'來驗證你的「自定義」Validator實例的請求。我編輯了我的答案來提供這一部分。 – tommy
我也想提一下,當使用Form Request類時,這會有所不同。 – tommy