我无法在Laravel应用程序中通过required
验证。
这是我的验证规则......
$rules = [
'email' => 'required|unique:members|max:100',
];
特定列名称为email
。 HTML页面输入字段名称为emailAddress
在这些情况下该怎么办?如何告知此验证要检查哪个请求字段?
谢谢!
答案 0 :(得分:3)
发现问题......
这是验证检查的输入字段名称。不是列名。
此处的问题是电子邮件字段的unique
验证规则。我必须明确哪个列来检查已存储的电子邮件。
喜欢这个
unique:members,email
我必须在表名后用,
(逗号)分隔后使用列名。
所以,规则就像
$rules = [
'emailAddress' => 'required|unique:members,email|max:100',
];
就是这样!
答案 1 :(得分:1)
您不会在验证中检查列名,只需使用输入名称。
$rules = [
'emailAddress' => 'required|unique:members|max:100',
];
我想更清楚一点:Request实例是经过检查的。验证不与数据库交互,它与请求
交互答案 2 :(得分:1)
您可以将name
属性更改为email
。
或者你可以使用这样的验证规则:
'emailAddress' => 'required|unique:members|max:100',
然后在控制器方法中执行此操作:
Model::create([
'email' => $request->emailAddress,
]);