我有html-form包含数组。它具有这样的结构:
"q" => array:1 [▼
"new" => array:1 [▼
1 => array:2 [▼
"name" => "a"
"v" => array:2 [▼
1 => array:1 [▼
"text" => "b"
]
2 => array:1 [▼
"text" => "c"
]
]
]
]
]
我已经创建了表单请求。现在它有一条规则:
'q.new.*.v.*.text' => 'required|min:2|max:128'
你知道吗?有时可以。当q.new.*.v
数组包含少于4个元素时,所有内容都可以很好地验证(我可以看到error messages)。但是当我发送例如such form时,数据没有刷新到存储中,我无法使用old()
函数进行检索。 Image。一些调试信息:
[2020-02-06 22:37:51] local.INFO: Request all in form request: Array
(
[q] => Array
(
[new] => Array
(
[1] => Array
(
[name] => a
[v] => Array
(
[1] => Array
(
[text] => b
)
[2] => Array
(
[text] => c
)
[3] => Array
(
[text] => d
)
[4] => Array
(
[text] => e
)
)
)
)
)
)
[2020-02-06 22:37:51] local.INFO: Old() in form request: Array
(
)
[2020-02-06 22:37:51] local.INFO: Old in controller after redirect: Array
(
)
[2020-02-06 22:37:51] local.INFO: Request all in controller after redirect: Array
(
)
我已经尝试将q.new.*.v.*.text
转换为q.new.1.v.1.text
,q.new.1.v.2.text
,q.new.1.v.3.text
的数组,但是结果不多。
问题出在默认的会话存储位置。默认情况下,SESSION_DRIVER是cookie(其大小是有限的)。因此,我已将驱动程序更改为file
,并且都以正确的方式工作。