2017-11-17 13 views
3
public function rules(Request $request) 
{ 
    if ($request->isMethod('POST')) { 
    return [ 
     "skill" => "required|array", 
     "skillyear.*" => "required_with:skill|numeric", 
    ]; 
    } 
public function messages() 
{ 
return [ 
    'skill.required'=>'Select at least one skill', 
    'skillyear.*.required_with'=>"Experience year is required for the selected skill" 
];} 

ので、各フィールドのために私は、これらすべてのために1つのメッセージのみを取得することができますどのようにこの enter image description here のようなメッセージが出ています。複数の入力フィールドに対して単一のカスタム検証メッセージを設定する方法はありますか?

+0

をしたいとあなたはおそらく重複をフィルタリングすることができ作るためのアイデアを得ることができ、単一のエラーを取得する

public function rules(Request $request) { if ($request->isMethod('POST')) { $request->skillyears = count($request->skillyear); return [ "skill" => "required|array", "skillyear.*" => "numeric", "skillyears" => "required_with:skill|min:1" ]; } public function messages() { return [ 'skill.required'=>'Select at least one skill', 'skillyears.min' => "Experience year is required for the selected skill", ];} 

、あなたがskillyearsでエラーになりますskillyearsとして新しい要素を追加しますメッセージを添付する必要があります。これは、重複メッセージに何らかの値が設定されている正確なフィールドにメッセージを添付するのが理想的です。 – apokryfos

+0

解決策を確認しましたか? – C2486

答えて

0

コントローラで使用シンプルlaravel検証:

public function getRequest(Request $request) { 

        $this->validate($request, [ 
         'param1' => 'required', 
         'param2' => 'required' 
        ], [ 
         'required' => 'Field is required' 
         ], [ 
         'param1' => 'field name 1 - message', 
         'param2' => 'field name 2 - message' 
        ]); 

の詳細:以下のようにhttps://laravel.com/docs/5.5/validation

0

変更。それは正確ではありませんされるかもしれないが、あなたは

関連する問題