Laravel验证复选框

San*_*eer 17 php validation checkbox laravel

我正在使用laravel寄存器功能来注册用户.我添加了一个复选框,用户需要接受条款和条件.我只想在选中复选框时注册用户.我可以在laravel中使用"必需"验证吗?这是我的验证功能:

 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',
    ]);
Run Code Online (Sandbox Code Playgroud)

当我使用这样的函数时,即使选中了复选框,laravel也会为复选框提供所需的错误.

这是复选框的html

<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>
Run Code Online (Sandbox Code Playgroud)

我希望你们能帮助我!

Sna*_*rak 46

使用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',
    'checkbox' =>'accepted'
]);
Run Code Online (Sandbox Code Playgroud)

  • 这是服务条款复选框的正确答案. (7认同)

Cal*_*aga 8

它会工作,只需确保输入值不是空字符串或false.只要键是输入名称属性的值,'checkbox'=>'required'就可以了.


Tsc*_*cka 5

我只是感到非常沮丧,因为我使用的代码将复选框值作为布尔值返回。

如果你有类似的情况,你可以使用以下规则:

[
 'checkbox_field' => 'required|in:1',
]
Run Code Online (Sandbox Code Playgroud)