【发布时间】:2017-11-13 04:14:56
【问题描述】:
我有一个表格:
<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]:未找到列:1054 'where 子句'中的未知列 'name.1'(SQL:从 `names` 中选择 count(*) 作为聚合,其中 `name`.`1` = John)
因此它将name.* 视为创建另一个字段名称,而不是循环遍历数组。
我的 Laravel 框架是 5.4.19 版本。根据the docs,name.* 应该可以在验证期间遍历数组。
我做错了什么?
【问题讨论】:
标签: arrays forms laravel validation