为了账号安全,请及时绑定邮箱和手机立即绑定

尝试更新时的laravel验证错误

尝试更新时的laravel验证错误

PHP
繁花不似锦 2022-01-14 18:09:24
当我尝试更新帖子时,如果我不更改 slug 的值,laravel 会返回此错误:蛞蝓已经被拿走了。这是我的验证:$this->validate($request, [  'name' => 'required',  'content' => 'required',  'excerpt' => 'required',  'type' => 'required',  'slug' => 'required | unique:providers']);
查看完整描述

3 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

当您更新记录并添加唯一验证时。您应该传递要插入的记录的id

更新时

'slug' => 'required | unique:providers,slug,'.$providerId

插入时

'slug' => 'required | unique:providers'


查看完整回答
反对 回复 2022-01-14
?
浮云间

TA贡献1829条经验 获得超4个赞

您需要告诉验证器对您正在更新的当前实体进行异常处理。


$this->validate($request, [

        'name' => 'required',

        'content' => 'required',

        'excerpt' => 'required',

        'type' => 'required',

        'slug' => 'required|unique:providers,slug,'.$providerId

    ]);


查看完整回答
反对 回复 2022-01-14
?
慕村9548890

TA贡献1884条经验 获得超4个赞

添加时:


use Illuminate\Support\Str;


.

.


$slug = Str::slug($request->name, '-');


$exists = Provider::where('slug', $slug)->first();


if($exists) {


   $slug = $slug.'-'.rand(1000,9999);


}

更新时:


$request->validate([

   'slug' => 'required|unique:providers,slug,'.$provider_id.',id',

]);


查看完整回答
反对 回复 2022-01-14
  • 3 回答
  • 0 关注
  • 155 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信