Laravel 请求验证对象

Posted

技术标签:

【中文标题】Laravel 请求验证对象【英文标题】:Laravel Request Validation of an object 【发布时间】:2020-07-13 01:25:44 【问题描述】:

我想过滤来自 API 有效负载的一些数据,我必须在其中检查数据的某些部分是否是对象,例如:

"object"
  "propety":value,
  "another_propety":value,

我想确定来自有效负载的“对象”实际上是一个对象,它包含属性而不是整数,也不是数组或任何其他类型......而是一个对象。有什么办法可以通过使用 Laravel 的本机验证器来解决这个问题,我必须创建一个自定义规则?

谢谢

【问题讨论】:

如果有用请查看answer 【参考方案1】:

考虑到 laravel 生命周期,当请求有效负载到达验证时,object 已经更改为 php 数组,请使用以下内容验证您的密钥。

$this->validate($request, [
    'object' => 'required|array',
    'object.property' => 'required|string',
]);

https://laravel.com/docs/5.8/validation#rule-array

如果它仍然是一个 JSON 对象,请查看官方文档以了解这样做 -> https://laravel.com/docs/5.8/validation#rule-json

这将帮助您在请求获得验证时将 object 键识别为 JSON。

【讨论】:

以上是关于Laravel 请求验证对象的主要内容,如果未能解决你的问题,请参考以下文章

如何验证 json 对象中的请求 - 使用 laravel

在 Laravel 请求中验证 Bootstrap 日期时间选择器

我可以通过 Laravel 5.1 中的自定义请求对象验证后恢复输入字段值吗?

在 Reactjs 中循环遍历 Laravel 验证错误对象

Laravel 验证对象数组问题

Laravel Eloquent 验证请求的 items 字段 foreach