温馨提示:本文翻译自stackoverflow.com,查看原文请点击:crud - How to Validate Record in Update Case in the Following Critical Situation using Laravel?
crud laravel

crud - 如何在随后的紧急情况下使用Laravel验证更新案例中的记录?

发布于 2020-05-19 10:04:37

我想更新记录,但在更新之前我要检查:-1.如果用户存在,则不允许更新。

例子:-

用户jay尝试更新其名称,但用户插入了jay字段中已经存在的相同名称。当时我想允许用户更新,但是此代码给出了用户名已存在的错误。我该做什么 ??

控制器:-

    public function update_data($update_id){

        $gender_list = ['Male', 'Female', 'Other'];
        $country_list = ['India', 'US', 'UK', 'Germany', 'Austraila'];

        $Validator = $this->validate(request(), [
            'username' => 'required|unique:userlists|alpha_num|max:30',
            'email' => ['required', 'unique:userlists', 'email', 'regex:/((yahoo|gmail|hotmail)\.com)/'],
            'password' => 'required',
            'bod' => 'required|after_or_equal:today',
            'comments' => 'required',
            'phone_no' => 'required|numeric',
            'country' => 'required|alpha',
            'gender' => 'required',
            'agreement' => 'required',
        ],[
            'required' => 'Please Enter Your :attribute',
        ]);  

        if(!in_array($request->gender, $gender_list) || !in_array($request->country, $country_list)){

            session()->flash('G_msg', 'Hello Hackes Please Go Back');
            return back();

        }   

       if($Validator->passes()){
                       // updation code.
      }

    }

查看更多

提问者
Zobjoys Jeirmov
被浏览
43
Khushbu 2020-03-02 13:10

您可以使用如下所示的验证:

'username' => ['required','alpha_num', 'max:30',Rule::unique('userlists')->ignore($update_id)]

确保在类上方定义了规则:

使用Illuminate \ Validation \ Rule;