7. Tùy chỉnh thông báo lỗi, Tùy chỉnh thuộc tính validation (ok)
https://viblo.asia/p/tap-20-validation-laravel-GrLZDWAEKk0
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.
public function messages()
{
return [
'title.required' => 'Tiêu đề bài viết không được bỏ trống',
'body.required' => 'Nội dung bài viết không được bỏ trống'
];
}Việc này thật sự không quá khó khăn, bạn chỉ cần chú ý đến các key của mảng. Chúng ta sẽ sử dụng cú pháp name_field.name_rule hoặc chỉ name_rule cho key. Ok, bây giờ hãy test xem nào.
Nếu như một rule có cấu trúc thông báo lỗi giống nhau cho tất cả request thì bạn có thể cân nhắc sử dụng key name_rule.
Ta sẽ thu được kết quả:
Lưu ý: Các tùy chỉnh này chỉ có hiệu lực trong phạm vi một form request nhất định.
Ví dụ đã hoàn thành:
C:\xampp\htdocs\blog\routes\web.php
C:\xampp\htdocs\blog\app\Http\Controllers\PostController.php
C:\xampp\htdocs\blog\app\Http\Requests\StorePost.php
C:\xampp\htdocs\blog\resources\views\create_post.blade.php
5. 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 đó.
Áp dụng cho ví dụ trên, các bạn chỉ việc định nghĩa thêm method attributes như sau:
Một kết quả không thể tốt hơn được nữa:
Lưu ý: Các tùy chỉnh này chỉ có hiệu lực trong phạm vi một form request nhất định.
Ví dụ đã hoàn thành:
C:\xampp\htdocs\blog\routes\web.php
C:\xampp\htdocs\blog\app\Http\Controllers\PostController.php
C:\xampp\htdocs\blog\app\Http\Requests\StorePost.php
C:\xampp\htdocs\blog\resources\views\create_post.blade.php
Last updated
Was this helpful?