Cara Menggunakan Validasi Unik di Laravel ?

SHARE :

Tutorial ini akan memberi Anda contoh validasi unik laravel. contoh ini akan membantu Anda validasi unik dalam laravel.

Saya akan menunjukkan kepada Anda tentang cara menggunakan validasi unik di laravel. contoh ini akan membantu Anda memvalidasi permintaan formulir laravel yang unik.

Mari kita mulai dengan contoh validasi unik email laravel.

Di sini, saya ingin menunjukkan cara menggunakan validasi unik di aplikasi laravel 6, laravel 7, laravel 8 dan laravel 9.

saya akan memberi Anda cara berbeda untuk menambahkan validasi unik dengan aplikasi Anda. Anda dapat menambahkan validasi unik pada waktu pembuatan dan juga memperbarui waktu.

Terkadang kita perlu menambahkan validasi unik untuk email, nama pengguna, dll. Pada saat itu jika Anda memeriksa email atau nama pengguna unik maka Anda harus menulis kueri basis data secara manual dan melakukannya menggunakan kondisi if.

Tetapi laravel menyediakan aturan "unik" yang akan membantu menambahkan validasi unik dengan mudah.

Anda juga dapat mengikuti tutorial dasar dari awal di sini: Contoh Validasi Formulir Laravel.

Pada dasarnya, Anda dapat membuat kelas permintaan Anda sendiri menggunakan perintah di bawah ini:

Buat Request Class

php artisan make:request StoreUserRequest

php artisan make:request UpdateUserRequest

Sekarang Anda dapat menggunakannya, di controller Anda seperti di bawah ini:

<?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)
    {
        /* Do Something */
    }

    public function update(UpdateUserRequest $request, User $user)
    {
        /* Do Something */
    }
}

Sekarang Anda dapat melihat solusi di bawah ini satu per satu dan Anda dapat menggunakan siapa saja yang Anda perlukan untuk validasi unik.

Contoh #1 : Simple Unique Validation

app/Http/Requests/StoreUserRequest.php

<?php
  
namespace App\Http\Requests;
  
use Illuminate\Foundation\Http\FormRequest;
  
class StoreUserRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    } 
  
    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
                'name' => 'required',
                'username' => 'required|min:8',
                'email' => 'required|email|unique:users'
            ];
    }
}

Contoh #2 : Unique Validation with Column Name

app/Http/Requests/StoreUserRequest.php

<?php
  
namespace App\Http\Requests;
  
use Illuminate\Foundation\Http\FormRequest;
  
class StoreUserRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }
  
    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
                'name' => 'required',
                'username' => 'required|min:8',
                'email' => 'required|email|unique:users,email'
            ];
    }
}

Contoh #3 : Unique Validation with Rule

app/Http/Requests/StoreUserRequest.php

<?php
  
namespace App\Http\Requests;
  
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
  
class StoreUserRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }
  
    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
                'name' => 'required',
                'username' => 'required|min:8',
                'email' => ['required', Rule::unique('users')]
            ];
    }
}

Contoh #4 : Unique Validation with Update

app/Http/Requests/UpdateUserRequest.php

<?php
  
namespace App\Http\Requests;
  
use Illuminate\Foundation\Http\FormRequest;
  
class UpdateUserRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return false;
    }
  
    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
                'name' => 'required',
                'username' => 'required|min:8',
                'email' => 'required|email|unique:users,email,'.$this->user->id
            ];
    }
}

Contoh #5 : Unique Validation with Update Rule

app/Http/Requests/UpdateUserRequest.php

<?php
  
namespace App\Http\Requests;
  
use Illuminate\Foundation\Http\FormRequest;
  
class UpdateUserRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return false;
    }
  
    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
                'name' => 'required',
                'username' => 'required|min:8',
                'email' => ['required', Rule::unique('users')->ignore($this->user)]
            ];
    }
}

Anda dapat menggunakan siapa saja yang Anda butuhkan.

Saya harap ini dapat membantu Anda ...

OOKINFO

Jasa pembuatan Aplikasi Mobile dan Web. Siap memberikan solusi digital untuk bisnis anda. Tugas Kuliah, Organisasi, Perusahaan, E-Commerce.