php - Laravel $request->validated() 用于请求正文中具有对象数据类型的数据
问题描述
我曾经$request->validated()
验证只包含普通键值对的请求正文,但是如果请求正文中有一个对象怎么办?
例子:
// this works just fine
{
"key1": "value1",
"key2": "value2"
}
的返回$request->validated()
将仅适用于 key1 和 key2,但是当涉及到这样的主体时:
{
"key1": "value1",
"object1": {
"key2.1": "value2.2"
"key2.2": "value2.2"
}
}
当我尝试使用以下方法创建object1
记录时:
object1::create($request->validated())
它抛出了一个错误,因为$request->validated()
它只验证任何正常的键值数据并且没有深入到对象的属性中。对此有任何想法吗?提前致谢。
解决方案
尝试这个 :
$request->validate([
'object1.*.key2.1' => 'required',
'object1.*.key2.2' => 'required'
]);
'object1.*.key2.1' => 'required'
,object1是key,*是index
推荐阅读
- node.js - 根据扳手数据库中的插入/更新创建触发器
- reactjs - React - 如何在 setState 中执行网络请求,我的代码可以吗?
- c++ - 如何修复警告“编译器可以假定‘对象’的地址永远不会为 NULL”
- sed - SED 替换了少数第一次出现(和范围)的模式
- git - 如何从特定 repo 下载源代码,其中仅包含在该 repo 中的特定提交期间已更改或添加的文件?
- python - 具有水平索引号的字符串
- javascript - 错误“文件是 commonJS 模块;它可能被转换为 ES6 模块。ts(80001)”
- javascript - 如何定位
- 列表之间的元素和转移
- javascript - ThreeJS 将 3D 绘图转化为制造图纸
- sql - 使用外键连接没有唯一 ID 的表时避免重复