Xác thực là quá trình kiểm tra dữ liệu đến. Theo mặc định, laravel cung cấp lớp bộ điều khiển cơ sở sử dụng đặc điểm ValidatesRequests để xác thực tất cả các yêu cầu Http đến Show
Hãy hiểu việc xác thực thông qua một ví dụ Chúng tôi sẽ tạo một ứng dụng trong đó chúng tôi thêm tên của học sinh
nhà soạn nhạc tạo dự án laravel/laravel=5. 8 student_app -prefer-dist; Kết quả trên cho thấy project student_app đã được tạo thành công trong thư mục xampp/htdocs
Đoạn mã trên tạo một bảng 'sinh viên' có bốn cột (id, name, created_at, updated_at) Dữ liệu có sẵn trong bảng người dùng bảng người dùng
nghệ nhân php di chuyển;
Tuyến đường. resource('sinh viên','StudentController');
mục lục. lưỡi. php Đầu ra của đoạn mã trên được hiển thị bên dưới Như chúng ta biết rằng URI của phương thức index() của StudentController là '/student', vì vậy khi chúng ta nhấn vào url 'localhost/student_app/public/student', nó sẽ gọi phương thức index(). Phương thức index() trả về dạng xem của chỉ mục. lưỡi. php, được hiển thị trong ảnh chụp màn hình ở trên
đầu ra Khi chúng tôi nhấp vào nút 'Thêm sinh viên', sau đó chúng tôi làm mới trang, đầu ra sẽ là Như chúng ta có thể thấy trong ảnh chụp màn hình ở trên, 'Himanshu' được thêm vào danh sách học sinh, điều đó có nghĩa là nút 'Thêm học sinh' đang hoạt động bình thường Đôi khi, tình huống phát sinh khi chúng tôi không nhập bất kỳ dữ liệu nào và chúng tôi nhấn nút 'Thêm sinh viên'; . Chúng tôi đã thêm mã xác thực vào phương thức store() để xác thực trường 'tên', nhưng chúng tôi không hiển thị bất kỳ thông báo lỗi nào. Để hiển thị thông báo lỗi, laravel đã cung cấp biến error hiển thị thông báo lỗi. Nó có thể được sử dụng như Sau khi thêm dòng trên vào chỉ mục. lưỡi. php, mã của chỉ mục. lưỡi. tập tin php trông giống như mục lục. lưỡi. php đầu ra Chúng tôi cũng có thể hạn chế các ký tự trong trường hộp văn bản. Nếu chúng ta muốn nhập ít nhất 5 ký tự vào trường tên, thì chúng ta có thể sử dụng trường tối thiểu trong hàm xác thực Lloyd là nhà phát triển web full-stack tự do chuyên về RILT stack (React, Inertia, Laravel, Tailwind). Anh ấy cũng yêu thích Jamstack và xây dựng trang web với Nuxt. js, tiếp theo. js và GatsbyXác thực trong Livewire sẽ giống với xác thực mẫu tiêu chuẩn trong Laravel. Tóm lại, Livewire cung cấp thuộc tính 6 để đặt quy tắc xác thực trên cơ sở từng thành phần và phương thức 7 để xác thực thuộc tính của thành phần bằng cách sử dụng các quy tắc đó Đây là một ví dụ đơn giản về biểu mẫu trong Livewire đang được xác thực
Nếu xác thực không thành công, một ___________8 tiêu chuẩn sẽ bị ném (và bị Livewire bắt) và đối tượng ___________9 tiêu chuẩn có sẵn trong chế độ xem của thành phần. Do đó, bất kỳ mã hiện có nào bạn có, có thể bao gồm Blade, để xử lý xác thực trong phần còn lại của ứng dụng của bạn cũng sẽ được áp dụng ở đây Bạn cũng có thể thêm các cặp khóa/tin nhắn tùy chỉnh vào túi lỗi Nếu bạn cần xác định các quy tắc một cách linh hoạt, bạn có thể thay thế thuộc tính 6 cho phương thức 1 trên thành phần Đôi khi, việc xác thực trường biểu mẫu khi người dùng nhập vào trường đó rất hữu ích. Livewire làm cho việc xác thực "thời gian thực" trở nên đơn giản bằng phương pháp 2Để xác thực trường nhập liệu sau mỗi lần cập nhật, chúng ta có thể sử dụng hook 3 của Livewire Hãy chia nhỏ chính xác những gì đang xảy ra trong ví dụ này
Nếu bạn đang thắc mắc, "tại sao tôi cần 4? Tôi không thể chỉ sử dụng 5?". Lý do là vì nếu không, mọi cập nhật cho bất kỳ trường nào sẽ xác thực TẤT CẢ các trường. Đây có thể là một trải nghiệm người dùng chói tai. Hãy tưởng tượng nếu bạn nhập một ký tự vào trường đầu tiên của biểu mẫu và đột nhiên mọi trường đơn lẻ đều có thông báo xác thực. 4 ngăn chặn điều đó và chỉ xác thực trường hiện tại đang được cập nhậtXác thực với các quy tắc bên ngoài thuộc tính 12 3 @error('name') {{ $message }} @enderror5 6 @error('email') {{ $message }} @enderror8 Save Contact 6Nếu vì bất kỳ lý do gì bạn muốn xác thực bằng cách sử dụng các quy tắc khác với các quy tắc được xác định trong thuộc tính 6, bạn luôn có thể thực hiện việc này bằng cách chuyển trực tiếp các quy tắc vào các phương thức 9 và 0 Tùy chỉnh Thông báo Lỗi & Thuộc tínhNếu bạn muốn tùy chỉnh các thông báo xác thực được sử dụng bởi một thành phần Livewire, bạn có thể làm như vậy với thuộc tính 1Nếu bạn muốn giữ các thông báo xác thực mặc định của Laravel, nhưng chỉ tùy chỉnh phần 2 của thông báo, bạn có thể chỉ định tên thuộc tính tùy chỉnh bằng cách sử dụng thuộc tính 3 Bạn có thể thay thế thuộc tính 1 cho phương thức 5 trên thành phầnNếu bạn không sử dụng thuộc tính xác thực toàn cầu 6, thì bạn có thể chuyển trực tiếp thông báo và thuộc tính tùy chỉnh vào 9 Thao tác thông báo lỗi trực tiếpCác phương pháp 9 và 0 sẽ xử lý hầu hết các trường hợp, nhưng đôi khi bạn có thể muốn kiểm soát trực tiếp ErrorBag bên trong của LivewireLivewire cung cấp một số phương pháp để bạn thao tác trực tiếp với ErrorBag Từ bất kỳ đâu bên trong lớp thành phần Livewire, bạn có thể gọi các phương thức sau Phiên bản Trình xác thực truy cậpĐôi khi bạn có thể muốn truy cập phiên bản Trình xác thực mà Livewire sử dụng trong các phương thức 9 và 0. Điều này có thể sử dụng phương pháp 2. Bao đóng mà bạn cung cấp nhận trình xác thực được xây dựng đầy đủ làm đối số, cho phép bạn gọi bất kỳ phương thức nào của nó trước khi các quy tắc xác thực thực sự được đánh giá0 Xác nhận thử nghiệmLivewire cung cấp các tiện ích kiểm tra hữu ích cho các tình huống xác thực. Hãy viết một bài kiểm tra đơn giản cho thành phần "Mẫu liên hệ" ban đầu 1 Điều này rất hữu ích, nhưng chúng ta có thể tiến thêm một bước và thực sự kiểm tra các quy tắc xác thực cụ thể 2 Livewire cũng cung cấp nghịch đảo của 3 -> 43 Để biết thêm ví dụ về cú pháp được hỗ trợ cho hai phương thức này, hãy xem Tài liệu kiểm tra Trình xác thực tùy chỉnhNếu bạn muốn sử dụng hệ thống xác thực của riêng mình trong Livewire, đó không phải là vấn đề. Livewire sẽ bắt 8 và cung cấp lỗi cho chế độ xem giống như sử dụng 7 Ví dụ 4 5 Bạn có thể tự hỏi liệu bạn có thể sử dụng "FormRequest" của Laravel hay không. Do bản chất của Livewire, việc nối vào yêu cầu http sẽ không hợp lý. Hiện tại, chức năng này không thể thực hiện được hoặc được đề xuất Làm cách nào để xác thực các từ chính xác trong Laravel?Để xác thực các từ chính xác, bạn có thể sử dụng Quy tắc. trong phương thức có sẵn với laravel . Sử dụng quy tắc. trong phương thức, bất kỳ giá trị nào được cung cấp bởi quy tắc này phải được khớp nếu không nó sẽ thất bại.
Làm cách nào để áp dụng xác thực ở dạng Laravel?Sau khi cài đặt Laravel, chúng tôi sẽ tạo một biểu mẫu mẫu để xem xác thực của chúng tôi. . 1 - Tạo biểu mẫu. Để tạo biểu mẫu trong thư mục tài nguyên/lượt xem, hãy tạo biểu mẫu tệp xem. . 2 - Tạo xác thực. Để tạo Quy tắc xác thực, hãy viết bên trong bộ điều khiển. . 3 - Tạo xác thực bằng Mặt tiền của Trình xác thực. . 4 - Tạo tệp yêu cầu để xác thực Làm cách nào để xác thực tùy chỉnh trong Laravel?Bắt đầu xác thực . Xác định các tuyến đường khác nhau. . Tạo bộ điều khiển mới. . Mã hóa logic xác thực. . Thuộc tính lồng nhau. . Tạo và triển khai các yêu cầu biểu mẫu. . Các móc sau để hình thành yêu cầu. . Ngừng sau lần xác thực đầu tiên không thành công. . Chuẩn bị một tuyến đường chuyển hướng Xác thực trong Laravel là gì?Xác thực là quá trình kiểm tra dữ liệu đến . Theo mặc định, laravel cung cấp lớp bộ điều khiển cơ sở sử dụng đặc điểm ValidatesRequests để xác thực tất cả các yêu cầu Http đến. |