如何在 Laravel 中正确验证数组?

Patricia Arquette
发布: 2024-11-25 00:00:44
原创
859 人浏览过

How to Properly Validate Arrays in Laravel?

Laravel 中的数组验证

在 Laravel 中处理数组数据时遇到验证问题。提交空的 POST 请求时,您预计验证会失败,但它返回 true。

解决方案

问题在于您如何验证数组。 Laravel 中的星号 (*) 符号验证数组中的各个值,而不是数组本身。要验证数组,请使用以下语法:

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

解释

在此示例中:

  • "names" 检查是否数组本身存在并且至少有 3 个元素。
  • "names.*" 验证“names”数组中的各个值,确保它们是字符串、不同且长度至少为 3 个字符。

使用此更新的验证逻辑,空 POST 请求将按预期失败。

Laravel 5.5 中的验证改进

从 Laravel 5.5 开始,您可以通过直接在 Request 对象上调用 validate() 方法来使用简化的语法进行数组验证:

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

以上是如何在 Laravel 中正确验证数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

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