2016-12-17 15 views
1

私が使用laravel 5.3、この私のスニペットビューコード:laravel検証ラジオ配列

<tr> 
     <td> 
      <label class="radio-inline"> 
      <input name="val[1]" type="radio" value="1" >Rate 1</label> 
      <label class="radio-inline"> 
      <input name="val[1]" type="radio" value="2" >Rate 2</label> 
     </td> 
    </tr> 
    <tr> 
     <td> 
      <label class="radio-inline"> 
      <input name="val[2]" type="radio" value="1" >Rate 1</label> 
      <label class="radio-inline"> 
      <input name="val[2]" type="radio" value="2" >Rate 2</label> 
     </td> 
    </tr> 

とコントローラでは、この私の検証:

$rules = array(
    'val[]' => 'required|in:1,2,3,4,5', 
); 

$validator = Validator::make(Input::all(), $rules); 

私はすべての無線をチェックして、フォームを送信した場合、エラーこのメッセージとともに表示されます:val []フィールドは必須です。

無線の配列を検証する方法は?

更新このソリューション回答へ

<tr> 
     <td> 
      <label class="radio-inline"> 
      <input name="val[1]" type="radio" value="1" required="true" >Rate 1</label> 
      <label class="radio-inline"> 
      <input name="val[1]" type="radio" value="2" required="true" >Rate 2</label> 
     </td> 
    </tr> 
    <tr> 
     <td> 
      <label class="radio-inline"> 
      <input name="val[2]" type="radio" value="1" required="true" >Rate 1</label> 
      <label class="radio-inline"> 
      <input name="val[2]" type="radio" value="2" required="true" >Rate 2</label> 
     </td> 
    </tr> 

お礼としてあなたはそれを試すことができますこの質問

答えて

1

$rules = array(
    'val' => 'required|array', 
    'val.*' => 'required|in:1,2,3,4,5', 
); 
+0

ラジオボタンがチェックされていないときにこの 'val。*' => 'required | in:1,2,3,4,5'を使用すると、その検証なし、合格条件 – sahmada

+0

更新ありがとう今、ラジオをチェックするだけで、その合格条件は – sahmada

+0

です。なぜならラジオボタンがチェックされていなければ、それはサーバーに渡されないからです。データがサーバーに渡されていることを確認する必要があります。回避策には2つあります.1つは、HTMLの 'required'属性を使うか、デフォルトでラジオボタンをチェックすることです。 –

1

はちょうどこのようにそれを実行します。

$rules = array(
    'val' => 'required|array', 
    'val.*' => 'required|in:1,2,3,4,5', 
); 

$validator = Validator::make(Input::all(), $rules); 

これが役立つことを願っています!

+0

私はあなたのアドバイスコードに変更します私はすべてのラジオを確認しない場合は、その検証は動作しません – sahmada

+0

あなたの更新のために、あなたのアドバイスの結果に感謝、もし私は1つのラジオを確認すると合格条件 – sahmada

+0

@サフマーダ - これは正しく動作しますか? –

関連する問題