Làm cách nào để gửi thông báo lỗi từ chế độ xem Trình điều khiển trong Laravel?
Cách gửi thông báo Lỗi và Thành công tùy chỉnh từ Bộ điều khiển đến Chế độ xem trong Laravel 7 Show
Laravel 7 giúp dễ dàng hơn khi chúng ta cần gửi bất kỳ loại thông báo lỗi hoặc thành công nào hoặc bất kỳ loại thông báo tùy chỉnh nào từ bộ điều khiển của chúng ta đến tệp phiến ( view ). Vì vậy, trong bài viết này chúng ta sẽ tìm hiểu cách gửi thông báo tùy chỉnh từ bộ điều khiển để xem tệp trong Laravel Để hiểu điều này chúng ta sẽ lấy một ví dụ để dễ hiểu và chúng ta sẽ sử dụng hàm " ->with() " do Laravel cung cấp để gửi tin nhắn từ bộ điều khiển để xem tệp. Chúng tôi sẽ sử dụng hộp cảnh báo có thể loại bỏ bootstrap để hiển thị thông báo tùy chỉnh của chúng tôi Sử dụng cơ bảnbộ điều khiểnreturn redirect(url('/form'))->with('successmessage','data saved successfully'); xem tài liệu@if(session('successmessage'))
Gửi mẫu xác nhận LỗiChúng tôi cũng có thể gửi lỗi xác thực từ bộ điều khiển đến tệp phiến. Nếu đầu vào biểu mẫu của bạn không khớp với mã xác thực thì nó sẽ tự động chuyển hướng đến tệp phiến của bạn và thực thi mã của bạn để hiển thị lỗi xác thực Hiển thị thông báo cảnh báo lỗi trong ứng dụng laravel Bạn chỉ cần thêm phần trả về có thông báo hoặc lỗi và hiển thị trong tệp phiến giống như bên dưới Cập nhật mã trong Trình điều khiển của bạn
Trong tệp phiến của bạn
đọc ở đây. Chế độ xem trả về của laravel với thông báo thành công Laravel cung cấp một số cách tiếp cận khác nhau để xác thực dữ liệu đến của ứng dụng của bạn. Cách phổ biến nhất là sử dụng phương thức 21 có sẵn trên tất cả các yêu cầu HTTP đến. Tuy nhiên, chúng tôi cũng sẽ thảo luận về các cách tiếp cận khác để xác nhậnLaravel bao gồm nhiều quy tắc xác thực thuận tiện mà bạn có thể áp dụng cho dữ liệu, thậm chí cung cấp khả năng xác thực nếu các giá trị là duy nhất trong một bảng cơ sở dữ liệu nhất định. Chúng tôi sẽ trình bày chi tiết từng quy tắc xác thực này để bạn quen thuộc với tất cả các tính năng xác thực của Laravel Bắt đầu nhanh xác thựcĐể tìm hiểu về các tính năng xác thực mạnh mẽ của Laravel, hãy xem một ví dụ hoàn chỉnh về xác thực biểu mẫu và hiển thị lại thông báo lỗi cho người dùng. Bằng cách đọc phần tổng quan cấp cao này, bạn sẽ có thể hiểu rõ hơn về cách xác thực dữ liệu yêu cầu gửi đến bằng cách sử dụng Laravel Xác định các tuyến đườngTrước tiên, giả sử chúng ta có các tuyến sau được xác định trong tệp 22 của mình
Tuyến đường 23 sẽ hiển thị một biểu mẫu để người dùng tạo một bài đăng blog mới, trong khi tuyến đường 24 sẽ lưu trữ bài đăng blog mới trong cơ sở dữ liệuTạo bộ điều khiểnTiếp theo, chúng ta hãy xem một bộ điều khiển đơn giản xử lý các yêu cầu đến các tuyến này. Bây giờ chúng ta sẽ để trống phương thức 25
Viết logic xác thựcBây giờ chúng ta đã sẵn sàng để điền logic vào phương thức 25 của mình để xác thực bài đăng blog mới. Để làm điều này, chúng ta sẽ sử dụng phương thức 21 được cung cấp bởi đối tượng 28. If the validation rules pass, your code will keep executing normally; however, if validation fails, an 29 exception will be thrown and the proper error response will automatically be sent back to the userIf validation fails during a traditional HTTP request, a redirect response to the previous URL will be generated. If the incoming request is an XHR request, a JSON response containing the validation error messages will be returned To get a better understanding of the 21 method, let's jump back into the 25 method@if(session('successmessage'))
7As you can see, the validation rules are passed into the 21 method. Don't worry - all available validation rules are documented. Again, if the validation fails, the proper response will automatically be generated. If the validation passes, our controller will continue executing normallyAlternatively, validation rules may be specified as arrays of rules instead of a single 33 delimited string 0In addition, you may use the 34 method to validate a request and store any error messages within a named error bag 2Stopping On First Validation FailureSometimes you may wish to stop running validation rules on an attribute after the first validation failure. To do so, assign the 35 rule to the attribute 4In this example, if the 36 rule on the 37 attribute fails, the 38 rule will not be checked. Rules will be validated in the order they are assignedA Note On Nested AttributesIf the incoming HTTP request contains "nested" field data, you may specify these fields in your validation rules using "dot" syntax 8On the other hand, if your field name contains a literal period, you can explicitly prevent this from being interpreted as "dot" syntax by escaping the period with a backslash 9Displaying The Validation ErrorsSo, what if the incoming request fields do not pass the given validation rules? As mentioned previously, Laravel will automatically redirect the user back to their previous location. In addition, all of the validation errors and request input will automatically be flashed to the session Một biến 39 được chia sẻ với tất cả các chế độ xem ứng dụng của bạn bởi phần mềm trung gian 40, được cung cấp bởi nhóm phần mềm trung gian 41. When this middleware is applied an 39 variable will always be available in your views, allowing you to conveniently assume the 39 variable is always defined and can be safely used. The 39 variable will be an instance of 45. Để biết thêm thông tin về cách làm việc với đối tượng này, hãy xem tài liệu của nóVì vậy, trong ví dụ của chúng tôi, người dùng sẽ được chuyển hướng đến phương pháp 46 của bộ điều khiển của chúng tôi khi xác thực không thành công, cho phép chúng tôi hiển thị thông báo lỗi trong chế độ xem 8Customizing The Error MessagesLaravel's built-in validation rules each have an error message that is located in your application's 47 file. Trong tệp này, bạn sẽ tìm thấy mục dịch cho từng quy tắc xác thực. Bạn có thể tự do thay đổi hoặc sửa đổi các thông báo này dựa trên nhu cầu của ứng dụng của bạnNgoài ra, bạn có thể sao chép tệp này sang thư mục ngôn ngữ dịch thuật khác để dịch các thông báo cho ngôn ngữ của ứng dụng của bạn. Để tìm hiểu thêm về bản địa hóa Laravel, hãy xem tài liệu bản địa hóa đầy đủ Yêu cầu & Xác thực XHRTrong ví dụ này, chúng tôi đã sử dụng một biểu mẫu truyền thống để gửi dữ liệu đến ứng dụng. Tuy nhiên, nhiều ứng dụng nhận được yêu cầu XHR từ giao diện người dùng được hỗ trợ bởi JavaScript. Khi sử dụng phương thức 21 trong một yêu cầu XHR, Laravel sẽ không tạo phản hồi chuyển hướng. Thay vào đó, Laravel tạo một phản hồi JSON chứa tất cả các lỗi xác thực. Phản hồi JSON này sẽ được gửi cùng với mã trạng thái HTTP 422Chỉ thị
|