我有一个customers
表,我使用CustomerRequest
通过使用rules
函数来验证字段。该表有一个email
字段,该字段是必需的并且是唯一的。当我创建客户时,这很好,但当我更新客户信息时(假设我把他们的姓氏拼写错了),我的请求失败了,因为email
地址已经在数据库中了。
这是我的客户请求:
public function rules()
{
return [
'givenname' => 'required',
'surname' => 'required',
'email' => 'required|unique:customers,email',
];
}
我想为所有客户重新使用CustomerRequest
,我该怎么做?
您需要在此处检查请求类型和客户id以进行更新,然后根据请求返回规则。像这样的
public function rules(Request $customer_request)
{
return [
'givenname' => 'required',
'surname' => 'required',
'email' => 'required|unique:customers,email,'.$customer_request->get('customer_id'),
];
}