Tiếp theo bài hôm trước là Xử lý ngày tháng trong Laravel 5, các bạn hẳn đã nắm được cách xử lý ngày tháng cơ bản trong Laravel 5 rồi. Hôm nay mình tiếp tục gửi tới các bạn bài Form validation trong Laravel 5 thông qua ví dụ để các bạn dễ hình dung.

1. Form validation là gì ?

Thông thường, khi bạn tạo 1 form đăng ký, đăng nhập, hay bất cứ một web form nào đó cho phép người dùng có thể nhập thông tin, ấn submit để thực thi 1 mục đích nào đó. Khi đó, ở tư cách là 1 lập trình viên, bạn phải đảm bảo rằng người dùng có thể nhập thông tin 1 cách chính xác nhất và submit form thành công. Bởi vì người dùng họ không có nhiều kiến thức về lập trình, hoặc đôi khi vì vội vàng mà họ sẽ dễ dàng nhầm lẫn trong việc điền thông tin. Chẳng hạn như là với form đăng ký, bạn phải 1 sự ràng buộc để bắt họ phải nhập username và password, hoặc email thì phải có định dạng abc@xyz, còn số điện thoại thì chỉ được nhập số chứ không được nhập chữ,…Tất cả những điều “ép buộc” này, bạn có thể hiểu nó chính là Form validation 🙂

2. Form Validation trong laravel 5

Trong Laravel 5, Form validation cũng tương tự như vậy, nhưng điểm khác biệt duy nhất ở đây là Laravel đã xây dựng 1 hệ thống validation, giúp cho bạn sử dụng 1 cách dễ dàng và thuận tiện hơn. Bạn sẽ không còn phải viết những đoạn code dài dòng, lê thê để kiểm tra thông tin người dùng nhập vào form, vì Laravel 5 đã làm hết tất cả những điều đó cho bạn.

3. Cách sử dụng Form Validation trong Laravel 5

Trước khi bắt đầu vào thực hành sử dụng form validation trong laravel 5, các bạn xem lại 1 chút ở Xử lý ngày tháng trong Laravel 5 . Vì trong bài viết này, mình sẽ sử dụng lại mẫu form đã được tạo ra trong file create.blade.php có nội dung :

và giao diện hiển thị như sau :

form validation trong laravel 5

Mục đích của mình là sẽ sử dụng lại form này và thực thi việc kiểm tra (form valition) để đảm bảo người dùng nhập đúng thông tin vào các ô Name, Author, Created Date theo đúng mục đích của mình với các rule như là :

  • Bắt buộc người dùng phải nhập thông tin vào các ô Name, Author, Created Date
  • Ô name phải điền tối thiểu là 6 ký tự

Ok, bắt đầu nào. Trước tiên các bạn mở cmd lên, gõ lệnh cd để di chuyển vào thư mục Laravel-5

Tiếp đến sử dụng php artisan để tạo 1 file chứa các rules form valition mà chúng ta sẽ đặt ra:

Sau khi chạy lệnh trên, các bạn vào thư mục : app/Http/Requests/CheckArticlesRequest.php đã được tạo ra có nội dung như sau :

Thoạt nhìn qua file này bạn sẽ có cảm giác bỡ ngỡ và rối rắm, nhưng thực chất thì cách sử dụng nó vô cùng đơn giản. Các bạn để ý function rules(). Trong function này chúng ta sẽ thiết lập các rule để kiểm tra thông tin người dùng nhập từ form. Hiện tại thì các bạn thấy là form của chúng ta bao gồm 3 fields là  : name, author, created_date sẽ được sử dụng để chúng ta tạo ra các rule như đã nói ở trên.

Mình sẽ sửa lại function rules() như sau :

Save lại, sau đó các bạn tiếp tục mở file controller ArticlesController.php đã được tạo ra bài trước, nhìn 1 chút vào function store() có nội dung như sau :

Hiện tại trong function store trên, mình đang dùng đối tượng Request $request của Laravel để truyền vào function. Nhưng vì chúng ta đã tạo ra đối tượng request là CheckArticlesRequest nên mình sẽ sửa lại function store() như sau :

Lưu ý là các bạn phải gọi đường dẫn

trên top của controller để có thể hiểu được đối tượng CheckArticlesRequest nha.

Tiếp theo, các bạn tiếp tục mở lại file view create.blade.php và thêm đoạn code sau bên dưới :

khi đó toàn bộ nội dung file view create.blade.php sẽ như sau :

Cuối cùng, các bạn gõ

Để chạy Laravel ở port 8000. Sau đó vào đường dẫn :

và làm 1 trong các thao tác sau :

– Bỏ trống ô Name, Author, Created Date rồi ấn Them moi

– Điền đầy đủ thông tin vào 3 ô Name, Author, Created Date nhưng ở field Name bạn điền khoảng dưới 6 ký tự rồi ấn Them moi

Khi đó bạn sẽ thấy thông báo lỗi hiện ra tương tứng.

Chúng ta kết thúc bài viết Form Validation trong Laravel 5 tại đây. Đừng quên ấn Đăng ký bài viết ở khung sidebar bên phải để nhận các bài viết mới thường xuyên nhé.

Chúc các bạn học tốt . Thân !


Nếu bạn thấy bài viết có ích và muốn cảm ơn mình thì bạn có thể donate mời mình 1 lý cà phê nhé
Địa chỉ ví BTC của mình : 1NWVkBYnd5iSZ5BsAg4fbr4bYWC7hn9Vcz
Địa chỉ ví ETH của mình : 0xa4881fe9ed28b270a7a7F6D339fe0B73c35DBAd1
Cám ơn và chúc bạn nhiều niềm vui trong cuộc sống !