Laravel-验证用户输入的唯一值



我有一个用于管理服务的表单,其中服务url是一个唯一值。当我添加一个数据库中已经存在的带有service_url的新服务时,它会返回SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry

我想做的是修改我的代码,返回到服务url已经存在的视图。我该怎么做?

门店服务功能:

public function store(Request $request)
{
$request->validate([
'service_url'=>'required',
'client'=>'required',
'service'=>'required',
'domain_provider'=>'required',
'domain_expiry'=>'required',
'hosting_provider'=> 'required',
'hosting_expiry' => 'required'
]);

$share = new Service([
'service_url' => $request->get('service_url'),
'client' => $request->get('client'),
'service' => $request->get('service'),
'domain_provider' => $request->get('domain_provider'),
'domain_expiry' => $request->get('domain_expiry'),
'hosting_provider' => $request->get('hosting_provider'),
'hosting_expiry' => $request->get('hosting_expiry')
]);
$share->save();
return redirect('/shares')->with('success', 'Service has been added');
}

我是Laravel的新手,如果您能提供帮助,我将不胜感激:(

在验证中添加以下规则,它将检查services表中service_url列的唯一性。

'service_url'=>'required|unique:services',

我希望你能理解。

你可以看到laravel官方文档https://laravel.com/docs/5.7/validation#rule-唯一

相关内容

  • 没有找到相关文章

最新更新