在 laravel 表单请求验证中验证数组对象?

Posted

技术标签:

【中文标题】在 laravel 表单请求验证中验证数组对象?【英文标题】:Validate array object in laravel form request validation? 【发布时间】:2016-08-10 15:18:38 【问题描述】:

我正在向服务器发送以下 json 数组,

 
    "details": 
        "0": 
            "name": "agency name"
        ,
        "1": 
            "name": "agency name arabic"
        
    

我想验证表单请求中的详细信息。

我尝试如下但效果不佳,

protected $rules = [
        'details.*.name' => 'required|string',
    ];

【问题讨论】:

哪些数据集验证失败?您指定的规则可以接受您问题中的问题。 【参考方案1】:

这里的问题是你这里没有发送数组,你应该这样发送:


    "details": [
        
            "name": "agency name"
        ,
        
            "name": "agency name arabic"
        
    ]

【讨论】:

【参考方案2】:

我从 html+Vue.js 数据网格/表格发送以下数组:

[0] => Array
    (
        [item_id] => 1
        [item_no] => 3123
        [size] => 3e
    )
[1] => Array
    (
        [item_id] => 2
        [item_no] => 7688
        [size] => 5b
    )

并使用它来验证:

$this->validate($request, [ '*.item_id' => 'required|integer', '*.item_no' => 'required|integer', '*.size' => 'required|max:191', ]);

【讨论】:

以上是关于在 laravel 表单请求验证中验证数组对象?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel表单请求验证不适用于getValidatorInstance()

验证数组中的 Laravel 嵌套规则

在 Laravel 5 中使用表单请求验证时如何添加自定义验证规则

表单请求验证中的 Laravel“独特”自定义消息验证

Laravel 在商店和更新上的表单请求验证使用相同的验证

在 laravel 5 中的表单请求验证后传递旧输入