Laravel请求对象验证

时间:2020-04-01 10:09:54

标签: php laravel rest request-validation

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

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

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

谢谢

1 个答案:

答案 0 :(得分: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。