gpt4 book ai didi

arrays - Laravel 验证输入数组

转载 作者:行者123 更新时间:2023-12-01 03:21:58 25 4
gpt4 key购买 nike

我有一个表格:

<input type="text" name="name[1]">
<input type="text" name="name[2]">
<input type="text" name="name[3]">
<input type="submit" value="Submit">

我已经创建了带有规则的表单验证文件:

class formRequest extends FormRequest {
....
public function rules()
{
return ['name.*' => 'unique:names'];
}

public function messages()
{
return ['name.unique' => 'Name is already in DB!'];
}

在已存在于数据库中的输入(例如 name[1] )中提交具有值(例如“John”)的表单后,我得到:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'name.1' in 'where clause' (SQL: select count(*) as aggregate from `names` where `name`.`1` = John)



所以它正在治疗 name.*至于创建另一个字段名称,而不是遍历数组。

我的 Laravel 框架是 5.4.19 版。根据 the docs , name.*应该在验证期间迭代数组。

我做错了什么?

最佳答案

默认情况下,如果您没有为 unique 提供列名规则,Laravel 将添加输入名称,在您的情况下,输入名称是一个数字。

要解决此问题,请将规则更改为以下内容:

return ['name.*' => 'unique:names,name'];

关于arrays - Laravel 验证输入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44486684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com