Laravel検証プログラムにどの言語を検証に使用することが可能ですか?Laravel検証言語を指定
英語のテキストを持つアプリケーションがありますが、一部のフォームでは、フィールドが異なる言語で返されるための検証エラーが必要です。
私は少しを調査し、私はアプリの言語を設定する\App::setLocale('ro')
を使用することができますので、resources/lang/ro/validation.php
下のファイルは、検証に使用されますが、私はsetLocale
を和らげるにしたくないことが分かりました。最悪のシナリオでは、検証の前に言語を変更し、検証後に変更することもできますが、良い解決策のようには見えません。
私はもっとこのような何かを探しています:
$validator = Validator::make($request->all(), [
'title' => 'required',
'short' => 'required',
]);
$validator->getTranslator()->setLocale('ro');
$this->validateWith($validator);
あなたがこの上で手の込んだてもらえますか? getTranslator()はカスタムバリデータのカスタムメソッドですか? –
"カスタムバリデータ"とは、 'ValidatesRequests'の特性によって直接提供される' validate() 'メソッドを直接使用できないことを意味します。 'Validator :: make()'は '\ Illuminate \ Validation \ Validator'のインスタンスを返すだけですので、翻訳者ロケールを手動で設定することができます。 'ValidatesRequest :: validateWith()'を使用して、 "カスタム" Validatorインスタンスでリクエストを検証できます。私はその部分を提供するために私の答えを編集しました。 – tommy
フォームリクエストクラスを使用するときにこれが異なることにも言及したいと思います。 – tommy