【发布时间】:2023-01-03 15:47:55
【问题描述】:
我有一个嵌套数组来验证我查看了其他问题并验证了它。但是当我像下面这样对数组进行倍增时,我的问题就开始了:
{
"items": [
{
"sender": {
"firstName": "firstName",
"lastName": "lastName",
},
"items": [
{
"weight": {
"value": 1000
}
}
]
},
{
"sender": {
"firstName": "firstName",
"lastName": "lastName",
},
"items": [
{
"weight": {
"value": 1000
}
}
]
}
]
}
现在我要做的是验证senders 和value 是否存在并检查它们的类型。
到目前为止我尝试过的是:
首先,我将 $data = $request->get('items'); 发送给验证器,然后。
public function rules()
{
return [
"sender.*.firstName" => "required|string|max:17",
但我总是在验证时收到此错误:
{
"detail": "",
"message": {
"sender.lastName.firstName": [
"sender.lastName.firstName is required."
],
你能给我一些建议我应该如何验证那个数组吗??谢谢
【问题讨论】:
-
它是
items.*.sender.firstName你必须把 * 放在数组所在的位置。 -
它不起作用,当我得到 $data 时,
items索引已被删除。 -
那么它不应该被删除。您可以尝试
*.sender.firstName,但我不确定它是否会起作用,我认为它需要一个顶层字段 -
好的,谢谢,一切正常:))你可以回答我接受你的
标签: php laravel validation