検証のためにコントローラー アクションで次のコードを使用しています。検証の削除と追加が期待どおりに機能しているため、これが検証に使用されているコードであると100%確信しています。
$this->validate($request, [
'email' => 'required|email',
'password' => 'required'
], [
'email.required' => 'Vul een e-mailadres in.',
'email.email' => 'Vul een geldig e-mailadres in.',
'password.required' => 'Vul een wachtwoord in.'
]);
問題は、提供しているメッセージ (「Vul een e-mailadres in.」) ではなく、デフォルトのエラー メッセージ (「The email field is required.」) が表示され続けることです。
次のコードを使用して、ビューにエラーを表示しています。
{{ $errors->first('email') }}
PhpStorm で検証メソッドの Go To Declaration を選択すると、次の関数が表示されるため、これが正しい方法だと思います。
vendor\laravel\framework\src\Illuminate\Foundation\Validation\ValidatesRequests.php:
public function validate(Request $request, array $rules, array $messages = array())
{
$validator = $this->getValidationFactory()->make($request->all(), $rules, $messages);
if ($validator->fails())
{
$this->throwValidationException($request, $validator);
}
}
デフォルトのエラー メッセージが表示され続けるのはなぜですか?