2017-11-10 13 views
0

フォームには2つのドロップダウンがあります。私がフォームを提出すると、少なくとも1つのドロップダウンが必要であることを確認して表示する必要があります。私はいくつかの機能を追加しましたが、機能しません。代わりにrequired_without_all使用required_withoutlaravel検証を使用して少なくとも1つのドロップダウンを検証して表示する方法

create.blade.php

<select class="form-control" id="user" name="user"> 
    <option value="0"> select user </option> 
    <option value="1"> jane </option> 
    <option value="2"> peter </option> 
</select> 

<select class="form-control" id="email" name="email"> 
    <option value="0"> select email</option> 
    <option value="1"> [email protected] </option> 
    <option value="2"> [email protected] </option> 
</select> 

CreateRequest.php

public function rules() 
{ 
    $rules = [ 
      'user' => 'required_without_all:email|not_in:0', 
      'email' => 'required_without_all:user|not_in:0', 
      ]; 
    return $rules; 
} 
+1

私の答えはこちらをご覧ください:https://stackoverflow.com/questions/46909982/laravel-at-least-one-field-is-required/46910085#46910085 –

+2

[Laravelの少なくとも1つのフィールドは必須です](https://stackoverflow.com/questions/46909982/laravel-at-least-one-field-is-required) –

+1

@RaunakGuptaはい、そうです。私はここに同じリンクを掲示し、私の答えをチェックするように言った。それが助けあれば! –

答えて

1

。前者はフィールドのリストを受け取りますが、必要なフィールドは1つだけです。

また、selectプレースホルダに値 '0'を使用してスキップし、検証から削除します。例えば

<select class="form-control" id="user" name="user" placeholder="Select user"> 
     <option value=""> select user </option> 
     <option value="1"> jane </option> 
     <option value="2"> peter </option> 
    </select> 

と検証:

'user' => 'required_without:email', 
+1

ありがとうございました。 –

0

使用required_withoutこれはあなたの問題を解決します。

$rules = [ 
    'user' => 'required_without:email|not_in:0', 
    'email' => 'required_without:user|not_in:0', 
]; 

これは役に立ちます。

関連する問題