2016-03-31 13 views
0

私はチェックボックスとテキスト入力を持つフォームを持っています。Laravel 5.2検証は2つ以上のフィールドで失敗する必要があります

チェックボックスの各グループで、少なくとも1つのチェックボックスをチェックする必要があるという検証が必要です。私は達成するために必要なもの

$validRules = [ 
    "check1" => "required_without:check2,check3,check4,check5", 
    "check2" => "required_without:check1,check3,check4,check5", 
    "check3" => "required_without:check2,check1,check4,check5", 
    "check4" => "required_without:check2,check3,check1,check5", 
    "check5" => "required_without:check2,check3,check4,check1", 
    //more rules... 
]; 

が1つ、2つ、またはそれ以上が確認された場合はエラーがそこにはチェックボックスにチェックがされていないが、唯一の場合は、エラーを取得することです:私はこのような私の検証ルールをしました。

フォームを送信すると、検証がすべてチェックされていないと、検証エラーがスローされます。私のルールは間違っているのですか?これはバグですか?

+0

あなたは今まで、この問題に対する解決策を見つけることができましたか? – thedeadlybutter

+0

この[同じ種類の質問と回答]を試してください(http://stackoverflow.com/questions/30635678/laravel-validation-required-only-and-only-one-field) –

答えて

2

変更がrequired_without_allするrequired_without:

$validRules = [ 
    "check1" => "required_without_all:check2,check3,check4,check5", 
    // the rest of your rules 
]; 

を別の方法としては、例えば、あなたのチェックボックス名の配列を使用した場合

<input type="checkbox" name="checkbox[]" value="1"> 
<input type="checkbox" name="checkbox[]" value="2"> 

あなたは使用してそれらのいずれかを必要とすることができます

$validRules = [ 
    'checkbox' => 'required' 
]; 
+0

ドキュメントを読む私は 'required_without_all 'それらのうちの1つがチェックされていないときにエラーを投げるためのものです、間違っていますか? –

+0

@ProgramadorAdagal required_without_allは、他のすべてのチェックボックスが存在しない場合にのみ必要であることを意味します。 –

+0

また、オプション間にスペースがないようにしてください。 –

関連する問題