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

fnx2tebb  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(269)

我有一个用于管理服务的表单,其中服务url是唯一的值。当我添加一个新服务时,它返回的服务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');
}

我是拉雷维尔的新手,如果您能帮我,我将不胜感激:)

j2cgzkjk

j2cgzkjk1#

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

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

希望你能理解。
你可以看到拉威尔的官方文件https://laravel.com/docs/5.7/validation#rule-独一无二的

相关问题