2017-08-26 12 views
0

テキストフィールドの検証カスタムメッセージを作成できますが、私がままにしておくとLaravel 5.4 - ドロップダウンリストのカスタムメッセージ

$rules = [ 
    'unit'=> 'required|min:2|max:2', 
    'visitor_id'=> 'required|not_in:14' 
] 
$customMessages = [ 
    'unit.required' => 'Unit cannot be blank and must have 2 char max', 
    'visitor_id.required' => 'Please choose from the list...' 
    ]; 
$this->validate($request, $rules, $customMessages); 

: "visitor_id" フィールドの

<input type="text" class="form-control" id="unit" name="unit"> 

、ここで:

<select id="visitor_id" name="visitor_id" class="form-control"> 
    @foreach($visitors as $visitor) 
     <option value="{{$visitor->id}}"> 
      {{ $visitor->name }} 
     </option> 
    @endforeach 
</select> 

コントローラここ

は、HTMLは "単位" フィールドにありますユニットフィールドが空であるか、最大:2のルールに従わないと、メッセージは次のようになります: 'ユニットは空白にできません...'

しかし、私は14の値でvisitor_idという名前のドロップダウンを残す場合は、エラーメッセージは、デフォルトの1になりますが、私は必要がある1つ「選択された訪問者IDが無効である」とありません。

添付された画像は、結果を示している「...リストから選択してください」。

私は一時間以上のために研究され、残念ながら、解決策を見つけることができませんでした。もちろん

error messages

答えて

1

あなたはそれが下に以下の行を追加してください動作させるために、これだけnot_inためrequiredないために変更したため、それがデフォルトのメッセージになります。

$rules = [ 
    'unit'=> 'required|min:2|max:2', 
    'visitor_id'=> 'required|not_in:14' 
] 

$customMessages = [ 
    'unit.required' => 'Unit cannot be blank and must have 2 char max', 
    'visitor_id.required' => 'Please choose from the list...' 
    'visitor_id.not_in' => 'Please choose from the list...' 
    ]; 

$this->validate($request, $rules, $customMessages); 
+0

はい!それだ!私はすでにそれを参加させようとしていた(visitor_id.required。not_in)が、それらを分離することはなかった。ありがとう、Leo_Kelmendi –