1

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

"object"{
  "propety":value,
  "another_propety":value,
}

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

谢谢

4

1 回答 1

2

考虑到 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。

于 2020-04-01T11:32:17.067 回答