如何为嵌套的对象数组添加验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何为嵌套的对象数组添加验证相关的知识,希望对你有一定的参考价值。

我在Laravel控制器中验证我的API请求。它由一组对象组成,每个对象都需要进行验证。

我尝试了嵌套数组验证,并尝试创建一个单独的请求验证类,但无法成功。

{
    "total" : 250.00,
    "merchant_id" : 1,
    "discount" : 0,
    "items" :  {
        [id: 1, quantity: 25, notes: "some string A"],
        [id: 2, quantity: 10, notes: "some string B"],
        [id: 3, quantity: 5, notes: "some string C"]
    }
}

主对象的每个参数(total,merchant_id,discount)以及需要验证的嵌套数组参数(id,quantity,notes)

答案

使用.*中指定的https://laravel.com/docs/5.8/validation#validating-arrays表示法

另一答案

我们说所有这些都是必需的。你可以像这样验证它:

$validator = Validator::make($request->all(), [
    'total' => 'required',
    'merchant_id' => 'required',
    'discount' => 'required',
    'items.*.id' => 'required',
    'items.*.quantity' => 'required',
    'items.*.notes' => 'required',
]);

以上是关于如何为嵌套的对象数组添加验证的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中,如何为具有多个嵌套数组的 JSON 对象建模?

如何为 jquery 插件执行嵌套对象?

使用 django rest 框架,如何为现有父对象添加新的嵌套子对象

如何为javascript数组中的每个对象动态添加属性

如何为jquery插件执行嵌套对象?

如何为数组字段中的指针添加权限指针?