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',
    ]);

当我使用这样的功能时,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>

我希望你们能帮助我!

原文由 Sander Van Keer 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 653
2 个回答

使用 accepted 规则。

验证字段必须为 yes、on、1 或 true。这对于验证“服务条款”的接受很有用。

您的案例样本:

  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'
]);

原文由 SnakeDrak 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

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

 [
 'checkbox_field' => 'required|in:1',
]

原文由 Tschallacka 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题