Làm cách nào để đặt xác thực duy nhất trong Laravel?

Ở đây chúng ta sẽ thảo luận về tất cả các loại quy tắc xác thực cột duy nhất của laravel. quy tắc xác thực trường duy nhất của laravel khi cập nhật dữ liệu. xác thực duy nhất của laravel với điều kiện where. Quy tắc xác thực duy nhất trong laravel 8, laravel 9


Quy tắc xác thực cột duy nhất của Laravel

  1. Xác thực cột duy nhất theo tên bảng
  2. Kiểm tra xác thực duy nhất theo mô hình
  3. Kiểm tra cột duy nhất với id khi cập nhật dữ liệu
  4. Xác thực cột duy nhất của Laravel với điều kiện where

Xác thực cột duy nhất theo tên bảng

Khi bạn muốn xác thực một cột, cùng một giá trị không có sẵn trong bảng thì laravel cung cấp một quy tắc xác thực duy nhất chỉ định tên cột của bảng bằng bảng. email_address là tên cột của bảng cơ sở dữ liệu

Validator::make($data, [
  'email' => 'required|unique:users,email_address'
]);

đọc thêm. Chức năng trợ giúp tùy chỉnh của Laravel

Kiểm tra xác thực duy nhất theo mô hình

Khi bạn muốn kiểm tra quy tắc cột duy nhất theo mô hình thay vì bảng, hãy chỉ định tên cột bằng mô hình hùng hồn thay vì bảng, hãy xem ví dụ bên dưới

Validator::make($data, [
  'email' => 'required|unique:App\Models\User,email_address'
]);

Kiểm tra cột duy nhất với id khi cập nhật dữ liệu

Khi bạn muốn kiểm tra xác thực cột duy nhất trong khi cập nhật dữ liệu, Chúng tôi chuyển một ID để bỏ qua hàng cụ thể đó của bảng. Ví dụ: nếu bạn cập nhật dữ liệu hồ sơ người dùng và ở đây trường email là duy nhất thì bạn chuyển ID người dùng đó để bỏ qua hàng này, nó sẽ kiểm tra email duy nhất trong tất cả các hàng của bảng thay vì dữ liệu ID đó

Bạn có thể chuyển ID theo hai loại có Quy tắc và không có Quy tắc, xem ví dụ bên dưới

//without Rule
Validator::make($data, [
  'email' => 'required|unique:users,email_address,'.$user_id,
]);
// with Rule
Validator::make($data, [
  'email' => [
	  'required',
	  Rule::unique('users', 'email_address')->ignore($user_id),
   ],
]);

đọc thêm. Quy tắc xác thực Laravel required_if

Xác thực cột duy nhất của Laravel với điều kiện where

Bạn cũng có thể sử dụng điều kiện where khi xác định xác thực cho cột duy nhất. Trong laravel, bạn cũng có thể xác định cột duy nhất với cột khác. Ví dụ cột 'email_address' của bảng người dùng là duy nhất bằng cột user_type như thế nào thì ta chỉ kiểm tra địa chỉ email duy nhất của những người dùng có user_type bằng 1

Trong bài viết này, chúng ta sẽ thấy xác thực duy nhất của laravel khi cập nhật. quy tắc xác thực duy nhất trong laravel được sử dụng khi bạn muốn xác thực bất kỳ id email hoặc số điện thoại di động nào. Ở đây, chúng ta sẽ thấy xác thực email duy nhất của laravel trên biểu mẫu cập nhật hoặc xác thực duy nhất của laravel với điều kiện, laravel cung cấp quy tắc "duy nhất" để xác thực duy nhất email trong laravel

Vì vậy, hãy xem cách thêm xác thực duy nhất khi cập nhật trong laravel, xác thực duy nhất của laravel khi cập nhật, quy tắc xác thực duy nhất trong laravel 7/8, xác thực email duy nhất của laravel khi cập nhật, xác thực duy nhất của laravel khi chèn, cách sử dụng xác thực duy nhất trong laravel

Tại đây, bạn có thể tạo lớp yêu cầu để xác thực duy nhất email trong laravel, hãy chạy lệnh bên dưới để tạo lớp yêu cầu


php artisan make:request StoreUserRequest

php artisan make:request UpdateUserRequest

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Tệp điều khiển của bạn trông giống như mã bên dưới

<?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
    }
}

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình


đọc thêm. Cách lấy ngày và giờ hiện tại trong nút. js


ví dụ 1. Xác thực duy nhất với tên cột

Thêm mã bên dưới vào tệp này 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'
            ];
    }
}

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

ví dụ 2. Xác thực duy nhất đơn giản

Thêm mã bên dưới vào tệp này 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'
            ];
    }
}

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình


đọc thêm. Cách xác thực URL trong PHP bằng Regex


ví dụ 3. Xác thực duy nhất với quy tắc

Thêm mã bên dưới vào tệp này 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')]
            ];
    }
}

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Ví dụ 4. Xác thực duy nhất với Cập nhật

Thêm mã dưới đây vào tệp này app/Http/Requests/UpdateUserRequest. php

________số 8

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình


đọc thêm. Ví dụ xác thực biểu mẫu Laravel 8


Ví dụ 5. Xác thực duy nhất với quy tắc cập nhật

Thêm mã dưới đây vào tệp này 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)]
            ];
    }
}

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Làm cách nào để xác thực tên người dùng duy nhất trong Laravel?

Cách xác thực nếu tên người dùng đã tồn tại trong Laravel .
trình xác nhận chức năng được bảo vệ (mảng $data)
trả lại Trình xác thực. tạo($dữ liệu, [
'tên người dùng' => ['bắt buộc', 'chuỗi', 'tối đa. 32', 'độc đáo. người dùng,tên người dùng'],
'email' => ['bắt buộc', 'chuỗi', 'email', 'tối đa. 255', 'độc đáo. người dùng'],

Làm cách nào để cập nhật xác thực duy nhất trong Laravel?

Làm cách nào để tạo quy tắc xác thực tùy chỉnh trong laravel? .
Bước 1. Tạo bộ điều khiển
Bước 2. Tạo tuyến đường cho quy tắc xác thực tùy chỉnh
Bước 3. Tạo một yêu cầu
Bước 4. Tạo các phương thức điều khiển của chúng tôi
Bước 5. Tạo quan điểm của chúng tôi
Bước 6. Thêm quy tắc xác thực và quy tắc tùy chỉnh

Làm cách nào để xác thực tùy chỉnh trong Laravel?

Tạo quy tắc xác thực tùy chỉnh trong Laravel .
nghệ nhân php làm. yêu cầu Cửa hàngKhách hàngYêu cầu
Bước đầu tiên là nhập lớp mới được tạo này vào lớp yêu cầu của chúng tôi. Chúng tôi có thể nhập bằng mã dưới đây. sử dụng AppRulesUpperCase
sử dụng AppRulesUpperCase
Hãy để chúng tôi đi và kiểm tra nội dung của tệp mới được tạo

Làm cách nào để xác thực số điện thoại di động duy nhất trong Laravel?

Xác thực số điện thoại Laravel . con số. tối thiểu. 10' ]); $validated = $request->validate([ phone_number=> 'required|numeric|min:10' ]); //Nếu số vượt qua xác thực, phương thức sẽ tiếp tục ở đây. } Trong chức năng lưu của chúng tôi, chúng tôi sử dụng phương thức xác thực được cung cấp bởi đối tượng Illuminate\Http\Request.