私はLaravelが初めてで、ユーザー入力を検証する方法を見つけようとしています。
私はいくつかのテキストフィールド、テキストエリア、チェックボックスを持つフォームを持っています:
{{ Form::text('firstname', '', ['placeholder' => 'First Name', 'class' => 'form-control']) }}
{{ Form::text('lastname', '', ['placeholder' => 'Last Name', 'class' => 'form-control']) }}
{{ Form::email('email', '', ['placeholder' => 'Email', 'class' => 'form-control']) }}
{{ Form::textarea('question', '', ['placeholder' => 'Question', 'class' => 'form-control']) }}
{{ Form::checkbox('terms_and_conditions', 'yes') }}
{{ Form::label('terms_and_conditions', 'I agree to terms and conditions') }}
検証規則は次のとおりです。
public static $rules = array(
'firstname' => 'required|between:2,20',
'lastname' => 'required|between: 2,30',
'email' => 'required|email',
'question' => 'required|max: 5000',
'terms_and_conditions' => 'required|accepted',
);
テキスト フィールドはすべて期待どおりに検証されていますが、チェックボックス フィールドを検証することはできません。$input の json をビューにエコーし、モデルが terms_and_conditions チェックボックスの値を受け取っていることを確認できたので、なぜ検証されないのかわかりませんか?
新しいフィールドを追加したり、フィールドの名前を変更したりすると、それらのフィールドも検証されません。
何か不足していますか?