Laravel 5.4 Request validation, How to handle a unique validation during upgrade?

I have a user table that has a unique validation rule by email and username. When I try to update, do not ignore the unique check. See my code below.

UserRequest.php

public function rules()
{
    return [
        'name' => 'required',
        'mobile' => 'required',
        'email' => 'required|unique:users,email'.$id,
        'usercategory' => 'required',
        'username' => 'required|unique:users,username'.$id,
    ];
}
+4
source share
5 answers

Please, try

public function rules()
{

    $id = $this->request->get('id') ? ',' . $this->request->get('id') : '';

    return [
        'name' => 'required',
        'mobile' => 'required',
        'email' => 'required|unique:users,email'.$id,
        'usercategory' => 'required',
        'username' => 'required|unique:users,username'.$id,
    ];
}
+1
source

In laravel 5.5 you should do like this:

use Illuminate\Validation\Rule;

Validator::make($data, [
    'email' => [
        'required',
        Rule::unique('users')->ignore($user->id),
    ],
]);

Check out the laravel documentaion about rule-unique .

+2
source

id, ,

public function rules($id='')
{
    $id = $id ? ','.$id.',id':'';
    return [
        'name' => 'required',
        'mobile' => 'required',
        'email' => 'required|unique:users,email'.$id,
        'usercategory' => 'required',
        'username' => 'required|unique:users,username'.$id,
    ];
}

Laravel docs 3rd 4th param unique rule

unique:table,column,except,idColumn
0

- :

$id = $this->isMethod('put') ? ',' . auth()->id() : '';

Assuming you are using a method putto update

before line with return

0
source

for someone else came across this problem:

public function rules()
 {
    return [
    'name' => 'required',
    'mobile' => 'required',
    'email' => 'required|unique:users,email'.$this->user->id,
    'usercategory' => 'required',
    'username' => 'required|unique:users,username'.$this->user->id,
            ];
  }
0
source

Source: https://habr.com/ru/post/1691232/


All Articles