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

如何更新 Laravel 请求验证时的唯一字段

如何更新 Laravel 请求验证时的唯一字段

PHP
慕丝7291255 2021-09-18 16:51:07
我正在尝试编辑一个表单,其中我有一个带有标题、正文和 slug 的帖子,slug 是独一无二的,所以如果我编辑而不更新它,它会说它已经被占用了我正在我的 PostRequest 验证中尝试这个:public function rules()    {       return [            'title' => 'required',            'body' => 'required',            'metaTitle' => 'required',            'metaDescription' => 'required',            'slug' => ['required', Rule::unique('posts')->ignore($this->post)],        ];    }Post 控制器上的功能是:public function store(PostStoreRequest $request)    {        $validated = $request->validated();        auth()->user()->posts()->create($validated);        return redirect()->route('articulos.index');    }同样在我的刀片更新表单上,我有 @method('PUT')
查看完整描述

3 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

你应该试试这个:



public function rules()

 {     

       $slug = $this->request->get("slug");


       return [

            'title' => 'required',

            'body' => 'required',

            'metaTitle' => 'required',

            'metaDescription' => 'required',

            'slug' => ['required', Rule::unique('posts')->ignore($slug,'slug')],

        ];

  }


查看完整回答
反对 回复 2021-09-18
?
湖上湖

TA贡献2003条经验 获得超2个赞

试试这个希望它会起作用


public function rules(Request $request)

    {

        return [

            'title' => 'required',

            'body' => 'required',

            'metaTitle' => 'required',

            'metaDescription' => 'required',

            'slug' => 'required|slug|unique:posts,slug,' . $this->post,

        ];

    }


查看完整回答
反对 回复 2021-09-18
?
森林海

TA贡献2011条经验 获得超2个赞

请为StoreAndUpdate方法尝试此操作:


'slug' => [ 

    'required', 

    'slug', 

    'unique:posts,slug' . (isset($this->post)  ? ',' . $this->post : ' ') 

],


查看完整回答
反对 回复 2021-09-18
  • 3 回答
  • 0 关注
  • 124 浏览

添加回答

举报

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