2016-05-20 10 views
4

ユーザーを登録するためにlaravel register関数を使用しています。ユーザーが利用規約に同意する必要がある場合は、チェックボックスを追加しました。私は、チェックボックスがオンになっているときに登録するだけです。 laravelで 'required'検証を使用できますか?ラーバル検証チェックボックス

return Validator::make($data, [ 
     'firstName' => 'required|max:255', 
     'lastName' => 'required|max:255', 
     'email' => 'required|email|max:255|unique:users', 
     'password' => 'required|confirmed|min:6', 
     'checkbox' =>'required', 
    ]); 

私はこのような機能を使用し、laravelは、それがチェックされている場合でも、チェックボックスのために必要なエラーを与える:これは私の検証機能です。

これは、私はあなたたちが私を助けることを願って、チェックボックス

<input type="checkbox" name="checkbox" id="option" value="{{old('option')}}"><label for="option"><span></span> <p>Ik ga akkoord met de <a href="#">algemene voorwaarden</a></p></label> 

のhtmlです!

+0

:あなたは似たような状況を持っている場合は

次のルールを使用することができますか?開発ツールの実際の投稿データを確認しましたか?おそらくhtmlが間違っているので、データは掲載されません。上のヒント - 最新のIDEを使用している場合は、xdebugをインストールしてブレークポイントを設定してください – Steve

+0

これはうまくいきます。入力値が空文字列か偽でないことを確認してください。 'checkbox' => 'required'は、キーが入力name属性の値である限り、okです。 –

+0

ありがとうございました!これを回答として投稿できますか?このように私はそれを受け入れてupoteそれを受け入れることができます –

答えて

4

をそれは動作しますが、単に入力値が空の文字列またはfalseではありません確認してください。 'checkbox' => 'required'は、キーが入力name属性の値である限り、okです。

0

あなたの検証ルールは、あなたのHTMLフォームフィールドのname属性でcorrolateする必要があります。

return Validator::make($data, [ 
     'firstName' => 'required|max:255', 
     'lastName' => 'required|max:255', 
     'email' => 'required|email|max:255|unique:users', 
     'password' => 'required|confirmed|min:6', 
     'option' =>'required', //not checkbox 
    ]); 
+0

申し訳ありません私はチェックボックスを明確にするためにstackoverflowにチェックボックスを使用しました。名前はコンピュータ上で同じです。私はその質問を編集した。 –

7

acceptedルールを使用してください。

return Validator::make($data, [ 
    'firstName' => 'required|max:255', 
    'lastName' => 'required|max:255', 
    'email' => 'required|email|max:255|unique:users', 
    'password' => 'required|confirmed|min:6', 
    'option' =>'accepted' 
]); 
+0

同じ問題:s –

1

使用]チェックボックスrequired_without_all

return Validator::make($data, [ 
     'firstName' => 'required|max:255', 
     'lastName' => 'required|max:255', 
     'email' => 'required|email|max:255|unique:users', 
     'password' => 'required|confirmed|min:6', 
     'checkbox' =>'required_without_all', 
    ]); 

参照してください:https://laravel.com/docs/5.1/validation#available-validation-rules

1

私が使用しているコードでは、チェックボックスの値がブール値として返されるので、大きな不満がありました。フォームが似てない何

[ 
'checkbox_field' => 'required|in:1', 
] 
関連する問題