【问题标题】:Laravel - validate user input for unique valueLaravel - 验证用户输入的唯一值
【发布时间】:2019-05-08 10:09:16
【问题描述】:

我有一个用于管理服务的表单,其中 service-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 的新手,非常感谢您的帮助 :)

【问题讨论】:

    标签: mysql laravel validation


    【解决方案1】:

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

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

    希望你能理解。

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

    【讨论】:

    • 解决了这个问题。谢谢。
    • @MaramAlSaegh 太棒了! !
    猜你喜欢
    • 2017-11-02
    • 2021-03-08
    • 1970-01-01
    • 2014-08-20
    • 2020-03-11
    • 2017-07-31
    • 2018-07-29
    • 1970-01-01
    • 2015-06-18
    相关资源
    最近更新 更多