質問: Laravel5.1を使用しております。 FormRequestにてバリデーションを行っており、その際、attributesにてフォーム要素の名称を設定してエラーメッセージ上の表示を調整しております。 カスタムバリデーションルールを作成した際、標準のmessageだけでは対応できなった事から、FormRequestにてmessagesを実装し、該当のルールに対応するメッセージを作成しました。 しかし、messageを設定するとattributesで指定している項目名が置き換わらず、この両者を同時に指定する事ができません。 また、例えば以下のようにmessagesにてattributesで指定した名称を利用しようとしても反映されません。 ``` public function attributes() { return [ 'item1' => 'アイテム1', 'item2' => 'アイテム2', 'item3' => 'アイテム3', ]; } public function messages() { return [ 'item2.customCheck' => ':attributeを正しく入力してください。', ]; } ``` 上記の場合、「item2を正しく入力してください。」とメッセージは生成されます。 messagesを使用するとattributesは無視されているように思えます。 カスタムバリデーションルールを作成しており、そのメッセージが登録できないことからやむを得ずmessagesで対応しようとしております。 一応lang/ja/validation.php内に追加(「'customCheck' => ':attributeを正しく入力してください。'」)しましたが、こちらも反映されませんでした。 attributesとmessagesを同時に利用したいのですが、どのようにすればよいでしょうか。 ### 追加情報 状況として少し整理できました。 まず、カスタムバリデーションを実装していない場合、messagesとattributesは普通に利用できるようです。 カスタムバリデーションを利用するとそもそも何れも指定できなくなりました。 カスタムバリデーションの実装方法は以下のサイトを参考にしているのですが、何か私の見落としがあるのかもしれません。 Laravel4, 5 カスタムバリデートの実装
回答: 再度整理して実装し直したところ正常に動作しました。 お騒がせしました。