Laravel Unique Validation on Update

    Today in this post we will see laravel unique validation on update. unique validation rule in laravel is used when you want to validate any email id or mobile number.

    Here, we will see laravel unique email validation on update form or laravel unique validation with condition, laravel provide "unique" rule for email unique validation in laravel. So, let's see how to add unique validation on update in laravel

    Here, you can create request class for email unique validation in laravel, run below command to create request class.

php artisan make:request StoreUserRequest

php artisan make:request UpdateUserRequest

    Your controller file look like below.

<?php

namespace App\Http\Controllers;

use App\Http\Requests\StoreUserRequest;

use App\Http\Requests\UpdateUserRequest;

use App\User;

  
class UserController extends Controller

{
    public function store(StoreUserRequest $request)

    {
        //Your Code
    }

    public function update(UpdateUserRequest $request, User $user)
    {
        //Your Code
    }
}
Example 1 : Unique Validation with Column Name

    Add below code in this file app/Http/Requests/StoreUserRequest.php

<?php
  
namespace App\Http\Requests;
  
use Illuminate\Foundation\Http\FormRequest;
  
class StoreUserRequest extends FormRequest
{

    public function authorize()
    {
        return true;
    }
 
    public function rules()
    {
        return [
                'name' => 'required',
                'username' => 'required|min:8',
                'email' => 'required|email|unique:users,email'
            ];
    }
}
Example 2 : Simple Unique Validation

    Add below code in this file app/Http/Requests/StoreUserRequest.php

<?php
  
namespace App\Http\Requests;
  
use Illuminate\Foundation\Http\FormRequest;
  
class StoreUserRequest extends FormRequest
{

    public function authorize()
    {
        return true;
    } 
  
    public function rules()
    {
        return [
                'name' => 'required',
                'username' => 'required|min:8',
                'email' => 'required|email|unique:users'
            ];
    }
}
Example 3: Unique Validation with Rule

    Add below code in this file app/Http/Requests/StoreUserRequest.php 

<?php
  
namespace App\Http\Requests;
  
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
  
class StoreUserRequest extends FormRequest
{
 
    public function authorize()
    {
        return true;
    }
  
    public function rules()
    {
        return [
                'name' => 'required',
                'username' => 'required|min:8',
                'email' => ['required', Rule::unique('users')]
            ];
    }
}
Read Also : How To Send Email using Node.js
Example 4: Unique Validation with Update

    Add below code in this file app/Http/Requests/UpdateUserRequest.php

<?php
  
namespace App\Http\Requests;
  
use Illuminate\Foundation\Http\FormRequest;
  
class UpdateUserRequest extends FormRequest
{
    public function authorize()
    {
        return false;
    }
  
    public function rules()
    {
        return [
                'name' => 'required',
                'username' => 'required|min:8',
                'email' => 'required|email|unique:users,email,'.$this->user->id
            ];
    }
}
Example 5: Unique Validation with Update Rule

    Add below code in this file app/Http/Requests/UpdateUserRequest.php

<?php
  
namespace App\Http\Requests;
  
use Illuminate\Foundation\Http\FormRequest;
  
class UpdateUserRequest extends FormRequest
{
    public function authorize()
    {
        return false;
    }

    public function rules()
    {
        return [
                'name' => 'required',
                'username' => 'required|min:8',
                'email' => ['required', Rule::unique('users')->ignore($this->user)]
            ];
    }
}

    You may also like :

Bình luận
Vui lòng đăng nhập để bình luận
Một số bài viết liên quan