首页 > 后端开发 > php教程 > 如何在 Laravel 中验证数组:空提交和最佳实践?

如何在 Laravel 中验证数组:空提交和最佳实践?

Barbara Streisand
发布: 2024-11-27 16:29:11
原创
289 人浏览过

How to Validate Arrays in Laravel: Empty Submissions and Best Practices?

在 Laravel 中验证数组

尝试使用以下代码在 Laravel 中验证数组时:

$validator = Validator::make($request->all(), [
    "name.*" => 'required|distinct|min:3',
    "amount.*" => 'required|integer|min:1',
    "description.*" => "required|string"
]);
登录后复制

您可能会遇到意外的情况,空的 POST 提交被错误地识别为有效,从而导致错误正。

出现这种混乱是因为代码中的星号 (*) 旨在验证数组中的值,而不是数组本身。为了解决这个问题,应该修改验证规则来检查数组是否存在:

$validator = Validator::make($request->all(), [
    "names"    => "required|array|min:3",
    "names.*"  => "required|string|distinct|min:3",
]);
登录后复制

在此调整后的代码中:

  • “names”确保“names” " POST 数据中的键存在并包含一个数组。
  • "names.*" 然后验证 "names" 数组中的各个值,确保它们是必需的,最小长度为 3 个字符的唯一字符串。

从 Laravel 5.5 开始,可以采用简化的方法:

$data = $request->validate([
    "names"    => "required|array|min:3",
    "names.*"  => "required|string|distinct|min:3",
]);
登录后复制

这种紧凑的语法直接执行验证在 Request 对象上,消除了对 $validator 中介的需要。

以上是如何在 Laravel 中验证数组:空提交和最佳实践?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板