_confirmation フィールドが正しくない場合に、Laravel に正しいフィールドを強調表示させる方法が見つかりません。
Bootstrap レイアウトを使用すると、次のようにフォームに email と email_confirmation フィールドがあります。
<div class="control-group {{$errors->has('email') ? 'error' : ''}}">
{{ Form::label('email', 'Email', array('class' => 'control-label'))}}
<div class="controls">
{{ Form::email('email', Input::old('email'));}}
{{ $errors->first('email', Form::block_help(':message')) }}
</div>
</div>
<div class="control-group {{$errors->has('email_confirmation') ? 'error' : ''}}">
{{ Form::label('email_confirmation', 'Confirm Email', array('class' => 'control-label'))}}
<div class="controls">
{{ Form::email('email_confirmation', Input::old('email_confirmation'));}}
{{ $errors->first('email_confirmation', Form::block_help(':message')) }}
</div>
</div>
したがって、ユーザーが無効な電子メール アドレスを入力すると、「電子メール」フィールドにエラーが添付され、正しいラベル/フィールドが強調表示されます。
しかし、ユーザーが最初のフィールドに有効な/正しい電子メール アドレスを入力したが、確認が間違っていた場合、返されるエラーは、email_confirmed フィールドではなく「email」フィールドに対するものです。
エラーが実際には email_confirmation フィールドにあるときに、電子メール フィールドが強調表示されると、私には奇妙に見えます。
このstackoverflowの質問から理解できる限り、おそらく次のようなことができます
{{$errors->first('email', ':message') == 'Please confirm your email address correctly.' ? 'error' : ''}}
これは機能しますが、問題は、多言語サイトを実行しているため、返される :message が多くの可能性の 1 つになることです。
:message を各言語のメッセージの配列と比較する関数を作成できると思いますが、もっと簡単な方法があるかどうかを調べてみようと思いました。
乾杯!