😇Tạo, Ủy quyền,Adding After Hooks (form request), validate dùng chung, Tùy chỉnh error Phần 1 (ok)
https://viblo.asia/p/tap-20-validation-laravel-GrLZDWAEKk0
php artisan make:request StorePostCách 1: Sử dụng thông thường

C:\xampp8\htdocs\plugindev\app\Http\Controllers\web.php
C:\xampp8\htdocs\plugindev\app\Http\Controllers\PostController.php
C:\xampp8\htdocs\plugindev\resources\views\posts\create.blade.php
Cách 2: Tạo form request (Creating form request)

C:\xampp8\htdocs\plugindev\app\Http\Requests\StorePost.php
C:\xampp8\htdocs\plugindev\app\Http\Controllers\PostController.php
Ủy quyền form request (Authorizing form request) Chú ý: method authorize in C:\xampp8\htdocs\plugindev\app\Http\Requests\StorePost.php

method này sẽ quyết định rằng ta được quyền gửi form request đến controller hay là không với boolean true hoặc false.
Với method này, ta có thể ứng dụng để kiểm tra xem tài nguyên có thuộc về sở hữu của người dùng trong việc chỉnh sửa hoặc xóa tài nguyên. Chẳng hạn hệ thống sẽ kiểm tra ID bài viết có thuộc về quyền sở hữu của tác giả hay không để tiếp tục thực thi chỉnh sửa hoặc xóa bài viết.
Adding After Hooks To Form Requests
Tiêu đề này khó dịch sát nghĩa nên mình sẽ để nguyên như Laravel Docs. Việc này sẽ giống như bạn có thể đính kèm một callback sau khi việc validation hoàn tất. Để làm được nó, bạn chỉ cần khai báo method withValidator trong form request với nội dung sau:

Tùy chỉnh thông báo lỗi (Customizing the error message)
Bạn có thể tùy chỉnh thông báo lỗi bằng method messages trong form request. Method này sẽ trả về mảng thuộc tính/rule và các thông báo lỗi tương ứng. Chẳng hạn với ví dụ trên, mình sẽ định nghĩa thêm method messages cho form request StorePost.


C:\xampp8\htdocs\plugindev\app\Http\Requests\StorePost.php
Tùy chỉnh thuộc tính validation (Customizing the validation attribute)
Nhìn kết quả trên khá ok nhưng các bạn sẽ cảm thấy không chuyên nghiệp cho lắm, vì :attribute mặc định sẽ lấy name của request được gửi đến để làm thông báo lỗi. Nhưng Laravel đã cung cấp cho chúng ta method attributes để thay đổi thiết lập đó.

C:\xampp8\htdocs\plugindev\app\Http\Requests\StorePost.php
Trước
Sau

Last updated
Was this helpful?