Làm cách nào để tạo một trường duy nhất trong Laravel?

Như các bạn đã biết laravel là một framework phổ biến dựa trên ngôn ngữ PHP. Đó là cấu trúc Mô hình, Chế độ xem, Bộ điều khiển [MVC] và có nhiều tính năng tích hợp. Vì vậy, hôm nay trong hướng dẫn này, chúng ta sẽ tìm hiểu tính năng xác thực duy nhất trong laravel và cách bạn có thể triển khai nó trong laravel 6, laravel 7 và laravel 8

cũng đọc. Làm cách nào để cài đặt Laravel Framework trên Windows và macOS?

Giả sử bạn có một trang web hoặc ứng dụng và bạn muốn đăng ký người dùng thông qua biểu mẫu đăng ký với một email và tên người dùng duy nhất. Và không muốn gây rối với tất cả các chi tiết của người dùng khác

Vì vậy, trong trường hợp này, chúng ta cần triển khai một tính năng xác thực duy nhất trên biểu mẫu đăng ký laravel. Và đặt quy tắc xác thực duy nhất cho email và tên người dùng hoặc bất kỳ trường nào bạn muốn. Quy tắc xác thực thông qua các lỗi nếu cùng một email và tên người dùng đã tồn tại trong cơ sở dữ liệu

Vậy hãy bắt đầu

Có hai cách để thêm xác thực duy nhất vào email, tên người dùng hoặc bất kỳ trường nào khác. Đầu tiên, chúng tôi sẽ di chuyển cơ sở dữ liệu và thứ hai với yêu cầu biểu mẫu. Vì vậy, hãy chuyển sang xác định xác thực trong khi di chuyển

Mục lục

1 Xác thực duy nhất với di chuyển cơ sở dữ liệu

2 Xác thực duy nhất yêu cầu biểu mẫu của Laravel

3 Tất cả quy tắc xác thực có sẵn

Xác thực duy nhất với di chuyển cơ sở dữ liệu

Để thêm xác thực duy nhất trong quá trình di chuyển laravel, bạn phải nói với laravel rằng trường đó sẽ là duy nhất. Và bạn có thể làm điều này bằng phương thức unique[]

Trường hợp này nhắc, khi bạn biết trường đó sẽ là duy nhất trong cơ sở dữ liệu và không người dùng nào có cùng một dữ liệu hai lần. Xem mã ví dụ

Trong đoạn mã trên, chúng tôi đã áp dụng xác thực duy nhất bằng phương thức unique[] và đặt tên người dùng và email là duy nhất. Nó sẽ tạo một chỉ mục cho tên người dùng và email và ngăn chặn việc chèn hai hàng dữ liệu giống nhau vào cơ sở dữ liệu. Điều này sẽ hoàn toàn hoạt động tốt

Nhưng trong trường hợp đó, nếu bạn muốn xử lý ngoại lệ lỗi và trình bày thân thiện hơn với người dùng thì bạn cần phải thực hiện xác thực yêu cầu biểu mẫu. Vì vậy, hãy xem xác thực yêu cầu biểu mẫu

cũng đọc. Làm cách nào để sử dụng Điều kiện ở đâu trong Laravel Eloquent?

Yêu cầu biểu mẫu Laravel Xác thực duy nhất

Theo cách này, bạn cần tạo một lớp yêu cầu biểu mẫu và xử lý tất cả các xác thực trong lớp này. Bạn cũng có thể xác thực biểu mẫu trực tiếp trong bộ điều khiển và lưu dữ liệu vào cơ sở dữ liệu nhưng tôi khuyên bạn nên tạo một lớp yêu cầu riêng và sử dụng nó

Hãy bắt đầu với việc tạo một yêu cầu biểu mẫu

Tạo lớp yêu cầu

Chúng tôi sẽ sử dụng lệnh nghệ nhân php để tạo lớp yêu cầu. Xem lệnh cú pháp sau

Tiêm tệp yêu cầu trong bộ điều khiển

Bây giờ, đưa lớp yêu cầu vào bộ điều khiển mà bạn vừa tạo

Xác thực duy nhất đơn giản

Bây giờ chúng tôi sẽ quy tắc xác thực duy nhất cho lớp StoreUserRequest của chúng tôi. Giả sử bạn muốn tạo một trường bắt buộc và duy nhất cho tên người dùng, hãy xem ví dụ về quy tắc xác thực đơn giản

Quy tắc xác thực yêu cầu ở trên sẽ kiểm tra cùng một dữ liệu với cơ sở dữ liệu hiện có. Điều này có nghĩa là nếu bạn cố gắng đăng ký một người dùng với cùng một email thì sẽ xảy ra lỗi

Xác thực duy nhất với tên cột

Bạn cũng có thể làm điều tương tự như trên với việc xác định tên cột bằng quy tắc duy nhất. Cú pháp là duy nhất. bảng, tên_cột

Xác thực duy nhất với Cập nhật

Khi bạn cố gắng chỉnh sửa người dùng và tất nhiên bạn muốn kiểm tra lại xem người dùng đó không tồn tại với cùng một id email bằng cách loại trừ người dùng hiện tại

Vì vậy, tại đây, bạn cần cập nhật quy tắc xác thực và chuyển ID người dùng bằng một quy tắc duy nhất. Sau đó, quy tắc xác thực sẽ bỏ qua ID đó để kiểm tra. Xem mã dưới đây

Xác thực duy nhất với Lớp quy tắc

Bạn cũng có thể áp dụng quy tắc xác thực trên cột Mô hình hoặc tên bảng với sự trợ giúp của lớp Quy tắc. Chỉ cần đưa lớp Quy tắc vào lớp yêu cầu biểu mẫu của bạn và sử dụng nó. Xem ví dụ sau

Xác thực duy nhất với Lớp quy tắc cập nhật

cũng đọc. Các phương thức Eloquent của Laravel trướcHoặc Mới trướcHoặcTạo cập nhậtHoặcTạo

Tất cả các quy tắc xác thực có sẵn

Có nhiều quy tắc xác thực khác trong laravel, bạn có thể kiểm tra danh sách sau đây về tất cả các quy tắc xác thực có sẵn trong laravel

Được chấp nhậnKết thúc bằng sốĐược chấp nhận NếuLoại trừ NếuMật khẩuURL đang hoạt độngLoại trừ Trừ khiHiện tạiSau [Ngày]Tồn tại [Cơ sở dữ liệu]Bị cấmSau hoặc Bằng [Ngày]TệpBị cấm NếuAlphaĐầyNgăn cấm Trừ khi Dấu gạch ngang Alpha Lớn hơn Biểu thức Chính quyAlpha SốLớn hơn hoặc BằngBắt buộcMảngHình ảnh [Tệp]Bắt buộc NếuBắt buộcBắt buộc Trừ khi Trước [Ngày]Trong MảngBắt buộc VớiTrước hoặc Bằng [Ngày]Số nguyênBắt buộc với Tất cảGiữa Địa chỉ IPBắt buộc

Đây là các quy tắc xác nhận có sẵn. Bạn kiểm tra trên trang web chính thức tại đây, tất cả các quy tắc và chức năng của chúng

Tôi hy vọng hướng dẫn này hữu ích cho bạn. Nếu bạn có thắc mắc hãy cho tôi biết trong phần bình luận, tôi sẽ trả lời bạn sớm nhất có thể

Làm cách nào để tạo một cột duy nhất trong laravel?

Laravel sẽ tự động tạo một tên chỉ mục duy nhất dựa trên tên bảng, tên cột và loại chỉ mục [duy nhất] khi tạo chỉ mục. Để xóa một chỉ mục duy nhất, trước tiên bạn phải đặt tên cho nó. Tạo một chỉ mục duy nhất với tên_user_email_unique . users_email_unique - là tên của Chỉ mục duy nhất.

Làm cách nào để đặt giá trị duy nhất trong laravel?

Nếu bạn muốn kiểm tra một giá trị duy nhất trong bộ điều khiển [vì vậy khi bạn xác thực một đầu vào biểu mẫu chẳng hạn] thì câu trả lời @InaniELHoussain là chính xác. Nhưng nếu bạn muốn tự di chuyển, bạn chỉ cần nối thêm ->unique[] vào quá trình di chuyển . Ví dụ. $table->string['name']->unique[]; .

Làm cách nào để lấy dữ liệu duy nhất trong laravel?

$users = Người dùng. select['name']->groupBy['name']->get[]->toArray[] ; .

Làm thế nào để sử dụng duy nhất trong laravel?

Sử dụng quy tắc xác thực duy nhất trong Laravel Form Request .
$table->string['title']->unique[];.
nghệ nhân php làm. yêu cầu StorePostRequest. .

Chủ Đề