Laravel cung cấp một tiện ích đơn giản, thuận tiện để xác thực dữ liệu và truy xuất thông báo lỗi xác thực thông qua lớp 6Ví dụ xác thực cơ bản
Đối số đầu tiên được truyền cho phương thức 7 là dữ liệu đang được xác thực. Đối số thứ hai là các quy tắc xác thực sẽ được áp dụng cho dữ liệuSử dụng mảng để chỉ định quy tắcNhiều quy tắc có thể được phân tách bằng cách sử dụng ký tự "ống" hoặc dưới dạng các phần tử riêng biệt của một mảng
Xác thực nhiều trường
Khi một phiên bản 8 đã được tạo, phương pháp 9 (hoặc 0) có thể được sử dụng để thực hiện xác thực
Nếu xác thực không thành công, bạn có thể truy xuất thông báo lỗi từ trình xác thực
Bạn cũng có thể truy cập vào một loạt các quy tắc xác thực không thành công mà không cần thông báo. Để làm như vậy, hãy sử dụng phương pháp 1 1Xác thực tập tinLớp 8 cung cấp một số quy tắc để xác thực tệp, chẳng hạn như 3, 4 và các quy tắc khác. Khi xác thực tệp, bạn có thể chỉ cần chuyển chúng vào trình xác thực cùng với dữ liệu khác của mìnhLàm việc với thông báo lỗiSau khi gọi phương thức 5 trên phiên bản 8, bạn sẽ nhận được phiên bản 7, phiên bản này có nhiều phương thức thuận tiện để làm việc với các thông báo lỗiTruy xuất thông báo lỗi đầu tiên cho một trường 8Truy xuất tất cả các thông báo lỗi cho một trường 9Truy xuất tất cả các thông báo lỗi cho tất cả các trường 0Xác định xem có tồn tại thông báo cho một trường hay không 1Truy xuất thông báo lỗi với định dạng 0
Truy xuất tất cả các thông báo lỗi với định dạng 1Thông báo Lỗi & Chế độ xemKhi bạn đã thực hiện xác thực, bạn sẽ cần một cách dễ dàng để đưa thông báo lỗi trở lại chế độ xem của mình. Điều này được xử lý thuận tiện bởi Laravel. Hãy xem xét các tuyến đường sau đây làm ví dụ 2Lưu ý rằng khi xác thực không thành công, chúng tôi chuyển phiên bản 8 sang Chuyển hướng bằng phương pháp 9. Phương pháp này sẽ flash các thông báo lỗi vào phiên để chúng có sẵn trong yêu cầu tiếp theoTuy nhiên, lưu ý rằng chúng tôi không phải liên kết rõ ràng các thông báo lỗi với chế độ xem trong lộ trình GET của chúng tôi. Điều này là do Laravel sẽ luôn kiểm tra lỗi trong dữ liệu phiên và tự động liên kết chúng với chế độ xem nếu chúng khả dụng. Vì vậy, điều quan trọng cần lưu ý là một biến 10 sẽ luôn có sẵn trong tất cả các chế độ xem của bạn, theo mọi yêu cầu, cho phép bạn giả định một cách thuận tiện rằng biến 10 luôn được xác định và có thể được sử dụng một cách an toàn. Biến 10 sẽ là một thể hiện của 7Vì vậy, sau khi chuyển hướng, bạn có thể sử dụng biến 10 bị ràng buộc tự động trong chế độ xem của mình 3Túi lỗi được đặt tênNếu bạn có nhiều biểu mẫu trên một trang, bạn có thể đặt tên cho 7 lỗi. Điều này sẽ cho phép bạn truy xuất các thông báo lỗi cho một biểu mẫu cụ thể. Chỉ cần chuyển một tên làm đối số thứ hai cho 9 4Sau đó, bạn có thể truy cập phiên bản 7 có tên từ biến 10 5Quy tắc xác thực có sẵnDưới đây là danh sách tất cả các quy tắc xác thực có sẵn và chức năng của chúng Đã được chấp nhậnTrường được xác thực phải là có, bật hoặc 1. Điều này hữu ích để xác thực việc chấp nhận "Điều khoản dịch vụ" active_urlTrường được xác thực phải là một URL hợp lệ theo hàm PHP 19sau đó. ngày thángTrường được xác thực phải là một giá trị sau một ngày nhất định. Ngày tháng sẽ được chuyển vào hàm PHP 80chữ cáiTrường được xác thực phải hoàn toàn là ký tự chữ cái alpha_dashTrường được xác thực có thể có các ký tự chữ và số, cũng như dấu gạch ngang và dấu gạch dưới alpha_numTrường được xác thực phải hoàn toàn là ký tự chữ và số mảngTrường được xác thực phải thuộc loại mảng trước. ngày thángTrường được xác thực phải là một giá trị trước ngày đã cho. Ngày tháng sẽ được chuyển vào hàm PHP 80ở giữa. nhỏ nhất lớn nhấtTrường được xác thực phải có kích thước nằm trong khoảng từ tối thiểu đến tối đa đã cho. Chuỗi, số và tệp được đánh giá theo cách tương tự như quy tắc 3booleanTrường được xác thực phải có thể được truyền dưới dạng boolean. Đầu vào được chấp nhận là 83, 84, 85, 86, 87 và 88đã xác nhậnTrường được xác thực phải có trường phù hợp là 89. Ví dụ: nếu trường được xác thực là 90, thì trường 91 phù hợp phải có trong thông tin đầu vàongày thángTrường được xác thực phải là một ngày hợp lệ theo chức năng PHP 80Định dạng ngày tháng. định dạngTrường được xác thực phải khớp với định dạng được xác định theo hàm PHP 93khác nhau. cánh đồngTrường đã cho phải khác với trường được xác thực chữ số. giá trịTrường được xác thực phải là số và phải có độ dài giá trị chính xác chữ số_giữa. nhỏ nhất lớn nhấtTrường được xác thực phải có độ dài giữa tối thiểu và tối đa đã cho Trường được xác thực phải được định dạng dưới dạng địa chỉ email tồn tại. bảng, cộtTrường được xác thực phải tồn tại trên một bảng cơ sở dữ liệu nhất định Cách sử dụng cơ bản của quy tắc tồn tạiChỉ định tên cột tùy chỉnh 6Bạn cũng có thể chỉ định thêm các điều kiện sẽ được thêm dưới dạng mệnh đề "where" vào truy vấn 7Chuyển ________ 194 dưới dạng giá trị mệnh đề "where" sẽ thêm kiểm tra cho giá trị cơ sở dữ liệu ________ 194 8hình ảnhTệp được xác thực phải là hình ảnh (jpeg, png, bmp hoặc gif) Trong. thực phẩm, thanh,Trường được xác thực phải được bao gồm trong danh sách giá trị đã cho số nguyênTrường được xác thực phải có giá trị số nguyên ipTrường được xác thực phải được định dạng dưới dạng địa chỉ IP tối đa. giá trịTrường được xác thực phải nhỏ hơn hoặc bằng giá trị tối đa. Chuỗi, số và tệp được đánh giá theo cách tương tự như quy tắc 3kịch câm. thực phẩm, thanh,Tệp đang được xác thực phải có loại MIME tương ứng với một trong các tiện ích mở rộng được liệt kê Cách sử dụng cơ bản của quy tắc MIME 9tối thiểu. giá trịTrường được xác thực phải có giá trị tối thiểu. Chuỗi, số và tệp được đánh giá theo cách tương tự như quy tắc 3not_in. thực phẩm, thanh,Trường được xác thực không được bao gồm trong danh sách giá trị đã cho con sốTrường được xác thực phải có một giá trị số biểu thức chính quy. mẫuTrường được xác thực phải khớp với biểu thức chính quy đã cho Ghi chú. Khi sử dụng mẫu 98, có thể cần phải chỉ định các quy tắc trong một mảng thay vì sử dụng dấu phân cách dấu gạch ngang, đặc biệt nếu biểu thức chính quy chứa ký tự dấu gạch ngangcần thiếtTrường được xác thực phải có trong dữ liệu đầu vào bắt buộc_if. trường, giá trị,Trường được xác thực phải có mặt nếu trường trường bằng bất kỳ giá trị nào bắt buộc_với. thực phẩm, thanh,Trường được xác thực chỉ phải xuất hiện nếu có bất kỳ trường nào được chỉ định khác required_with_all. thực phẩm, thanh,Trường được xác thực chỉ phải có mặt nếu tất cả các trường được chỉ định khác đều có mặt bắt buộc_không. thực phẩm, thanh,Trường được xác thực chỉ phải xuất hiện khi không có bất kỳ trường nào được chỉ định khác bắt buộc_không_có_tất_cả. thực phẩm, thanh,Trường được xác thực chỉ phải xuất hiện khi tất cả các trường được chỉ định khác không xuất hiện như nhau. cánh đồngTrường đã cho phải khớp với trường đang được xác thực kích thước. giá trịTrường được xác thực phải có kích thước khớp với giá trị đã cho. Đối với dữ liệu chuỗi, giá trị tương ứng với số ký tự. Đối với dữ liệu số, giá trị tương ứng với một giá trị số nguyên nhất định. Đối với tệp, kích thước tương ứng với kích thước tệp tính bằng kilobyte chuỗi. giá trịTrường được xác thực phải là một loại chuỗi Múi giờTrường được xác thực phải là mã định danh múi giờ hợp lệ theo hàm PHP 99duy nhất. bảng,cột,ngoại trừ,idColumnTrường được xác thực phải là duy nhất trên một bảng cơ sở dữ liệu nhất định. Nếu tùy chọn 00 không được chỉ định, tên trường sẽ được sử dụngCách sử dụng cơ bản của quy tắc duy nhấtChỉ định tên cột tùy chỉnh 0Buộc một quy tắc duy nhất bỏ qua một ID đã cho 1Thêm mệnh đề bổ sungBạn cũng có thể chỉ định thêm các điều kiện sẽ được thêm dưới dạng mệnh đề "where" vào truy vấn 2Trong quy tắc trên, chỉ những hàng có 01 trên 185 mới được đưa vào kiểm tra duy nhấturlTrường được xác thực phải được định dạng dưới dạng URL
Thêm quy tắc có điều kiệnTrong một số trường hợp, bạn có thể muốn chạy kiểm tra xác thực đối với một trường chỉ khi trường đó có trong mảng đầu vào. Để nhanh chóng hoàn thành việc này, hãy thêm quy tắc 04 vào danh sách quy tắc của bạn 3Trong ví dụ trên, trường 05 sẽ chỉ được xác thực nếu nó có trong mảng 06Xác thực có điều kiện phức tạpĐôi khi bạn có thể chỉ muốn yêu cầu một trường nhất định nếu trường khác có giá trị lớn hơn 100. Hoặc bạn có thể cần hai trường để chỉ có một giá trị nhất định khi có trường khác. Thêm các quy tắc xác thực này không phải là một điều khó khăn. Đầu tiên, tạo một phiên bản 8 với các quy tắc tĩnh không bao giờ thay đổi của bạn 4Giả sử ứng dụng web của chúng tôi dành cho người sưu tầm trò chơi. Nếu một nhà sưu tập trò chơi đăng ký với ứng dụng của chúng tôi và họ sở hữu hơn 100 trò chơi, chúng tôi muốn họ giải thích lý do tại sao họ sở hữu nhiều trò chơi như vậy. Ví dụ: có lẽ họ điều hành một cửa hàng bán lại trò chơi hoặc có thể họ chỉ thích sưu tầm. Để thêm yêu cầu này một cách có điều kiện, chúng ta có thể sử dụng phương thức 04 trên trường hợp 8 5Đối số đầu tiên được truyền cho phương thức 04 là tên của trường mà chúng tôi đang xác thực có điều kiện. Đối số thứ hai là các quy tắc chúng tôi muốn thêm. Nếu 11 được thông qua khi đối số thứ ba trả về 83, các quy tắc sẽ được thêm vào. Phương pháp này giúp dễ dàng xây dựng các xác thực có điều kiện phức tạp. Bạn thậm chí có thể thêm xác thực có điều kiện cho một số trường cùng một lúc 6
Thông báo lỗi tùy chỉnhNếu cần, bạn có thể sử dụng thông báo lỗi tùy chỉnh để xác thực thay vì mặc định. Có một số cách để chỉ định thông báo tùy chỉnh Truyền tin nhắn tùy chỉnh vào Trình xác thực 7
Trình giữ chỗ xác thực khác 8Chỉ định một thông báo tùy chỉnh cho một thuộc tính nhất địnhĐôi khi bạn có thể muốn chỉ định một thông báo lỗi tùy chỉnh chỉ cho một trường cụ thể 9Chỉ định tin nhắn tùy chỉnh trong tệp ngôn ngữTrong một số trường hợp, bạn có thể muốn chỉ định các tin nhắn tùy chỉnh của mình trong một tệp ngôn ngữ thay vì chuyển chúng trực tiếp tới 8. Để làm như vậy, hãy thêm tin nhắn của bạn vào mảng 18 trong tệp ngôn ngữ 19 0Quy tắc xác thực tùy chỉnhĐăng ký quy tắc xác thực tùy chỉnhLaravel cung cấp nhiều quy tắc xác thực hữu ích; . Một phương pháp đăng ký quy tắc xác thực tùy chỉnh là sử dụng phương pháp 00 1Trình xác thực tùy chỉnh Đóng nhận ba đối số. tên của 01 đang được xác thực, 02 của thuộc tính và một mảng 03 được truyền cho quy tắcBạn cũng có thể truyền một lớp và phương thức cho phương thức 04 thay vì một ClosureLưu ý rằng bạn cũng sẽ cần xác định thông báo lỗi cho các quy tắc tùy chỉnh của mình. Bạn có thể làm như vậy bằng cách sử dụng mảng thông báo tùy chỉnh nội tuyến hoặc bằng cách thêm mục nhập vào tệp ngôn ngữ xác thực Mở rộng Lớp Trình xác thựcThay vì sử dụng lệnh gọi lại Đóng để mở rộng Trình xác thực, bạn cũng có thể mở rộng chính lớp Trình xác thực. Để làm như vậy, hãy viết một lớp Trình xác thực mở rộng 05. Bạn có thể thêm các phương thức xác thực vào lớp bằng cách đặt tiền tố cho chúng bằng 06 2Đăng ký Trình giải quyết trình xác thực tùy chỉnhTiếp theo, bạn cần đăng ký tiện ích mở rộng Trình xác thực tùy chỉnh của mình 3Khi tạo quy tắc xác thực tùy chỉnh, đôi khi bạn có thể cần xác định thay thế trình giữ chỗ tùy chỉnh cho thông báo lỗi. Bạn có thể làm như vậy bằng cách tạo Trình xác thực tùy chỉnh như được mô tả ở trên và thêm hàm 07 vào trình xác thực 4Nếu bạn muốn thêm một thông báo tùy chỉnh "người thay thế" mà không cần mở rộng lớp 8, bạn có thể sử dụng phương thức 09
Làm cách nào để xác thực email trong Laravel?Tất cả những gì bạn cần làm là thay đổi phương thức xác thực như sau. lưu hàm công cộng(Yêu cầu $request) { $validated = $request->validate([ email=> 'email. rfc,dns' ]); . } Điều này cho phép chúng tôi áp dụng xác thực cả DNS và RFC cho địa chỉ email của mình.
Làm cách nào để xác thực điện thoại di động 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.
Làm cách nào để tùy chỉnh thông báo lỗi xác thực trong Laravel?Để khắc phục điều này, chúng ta có thể tùy chỉnh các thông báo lỗi bằng cách chuyển một mảng thứ hai làm đối số, chứa các khóa được tạo bằng cách sử dụng tên của tham số, dấu chấm và sau đó là tên của . - the value will be the error message we want to display.
Làm cách nào để sử dụng trình xác thực trong Laravel 8?Cài đặt dự án Laravel. . Thực hiện kết nối cơ sở dữ liệu. . Di chuyển mô hình và cơ sở dữ liệu. . Tạo Trình điều khiển xác thực biểu mẫu. . Xác định Form Routes trong Laravel. . Triển khai xác thực biểu mẫu trong Laravel. . Thêm CSS tùy chỉnh. . Bắt đầu ứng dụng Laravel |