Php 拉威尔提出了一个独特的,必需的文件
创建字段时,我使用以下验证Php 拉威尔提出了一个独特的,必需的文件,php,forms,validation,laravel-5,put,Php,Forms,Validation,Laravel 5,Put,创建字段时,我使用以下验证 $this->validate($request, [ 'client_name' => 'required', 'contact_name' => 'required', 'email' => 'required|unique:clients|email', ]); 现在,当我试图用PUT编辑它时。我尝试以下方法 $this->validate($request, [ 'c
$this->validate($request, [
'client_name' => 'required',
'contact_name' => 'required',
'email' => 'required|unique:clients|email',
]);
现在,当我试图用PUT编辑它时。我尝试以下方法
$this->validate($request, [
'client_name' => 'required',
'contact_name' => 'required',
'email' => 'required|unique:clients|email',
]);
$client = \App\Client::find($id);
$client->client_name = $request->client_name;
$client->contact_name = $request->contact_name;
$client->email = $request->email;
$client->slug = str_slug($request->client_name, '_');
$client->save();
问题是-如果我删除Unique属性,它可以设置为与其他记录相同的电子邮件地址。如果我把它保存在记录中,就不会保存
有解决办法吗?Laravel中唯一验证器的语法 唯一:表、列、除、idColumn 因此,在您的代码中,您需要提到它在应用unique时需要除去的id
$this->validate($request, [
'client_name' => 'required',
'contact_name' => 'required',
'email' => 'required|unique:clients,client_email,clientid,'.$id.'|email',
]);
$client = \App\Client::find($id);
$client->client_name = $request->client_name;
$client->contact_name = $request->contact_name;
$client->email = $request->email;
$client->slug = str_slug($request->client_name, '_');
$client->save();
也可以参考laracast中的一些讨论
我希望它能帮助您。那么您是否要保存非唯一电子邮件?