25 October 2016

Struts 2 Framework: Validation Login [P3]

Cấu trúc phần 2 Search and Show đã xong!
[Phần 3] Validation Login
-Strust2 cũng hỗ trợ 02 cơ chế cho việc validation

  1. Thực hiện cài đặt validator cho phép người dùng code tạo nên validation
  2. Sử dụng validator framework thông qua interceptor do Struts2 Framework cung cấp và thực hiện khai báo qua tập tin xml

-Để thực hiện validation với cài đặt validator, người lập trình cần thực hiện một số nội dung như sau:

  • Action class phải kế thừa từ ActionSupport và/ hoặc cài đặt thêm interface ValidationAware để trong action cài đặt hàm validate
  • Việc cài đặt ValidationAware để hỗ trợ người dùng về các message khi thực hiện thông báo lỗi và kích hoạt các interceptor trong hỗ trợ xử lý
  • Cơ thế làm việc của workflow Interceptor
  • Khi người dùng nhập liệu và nhấn submit form để gửi dữ liệu về server thì workflow Interceptor được kích hoạt
  • Interceptor này kiểm tra xem action có cài đặt validation hay không, nếu có thì nó kích hoạt hàm validate
  • Nếu có lỗi xảy ra thì validator sẽ tạo ra các error message và add vào thành phần hỗ trợ bởi ValidationAware, cụ thể là hasErrors, để từ hàm này, nếu có các message thì ứng dụng hay action sẽ bị ngắt ngang và đưa thông báo lỗi về phía người dùng

-Các bước thực hiện:
Step 1
Tạo tất các các view cho ứng dụng với trang jspTrong các view có các form cần validation, Taglib <s:head />  bắt buộc phải được đặt trong phần header để hỗ trợ trình bày các message error khi lỗi phát sinh vì s:head hỗ trợ phát sinh các thành phần liên quan đến css và javascript khi báo lỗi về phía client
Step 2
Tạo action class extends từ class ActionSupportCài đặt hàm validate()Trong quá trình viết code xử lý lỗi, xử dụng hàm addFieldError(String fieldName, String errorMessage) để add lỗi cho ValidationAwareTham số fieldname trùng tên với các thuộc tính cần validation trong action form
Step 3:
Cấu hình tập tin struts.xml với giá trị đặc biệt result tên là input và trang thông báo lỗi được xác định (thông thường chính là view nhập liệu)

-Chúng ta thực hiện validation Login bằng cách cài đặt validator class như sau
-chỉnh sửa trang index.jsp đã làm trong bài trước nhưng bổ sung thêm tag s:head để hỗ trợ thông báo lỗi
-Chỉnh sửa LoginAction bằng cách cài đặt extends từ ActionSupport và cài đặt hàm validate

  • Trong hàm validate bắt username và password phải khác null nghĩa là kích thước phải lớn hơn 0 vì OGNL EL sẽ ép kiểu null thành kiểu chuỗi
  • Ngoài ra, nhập username nhỏ hơn 4 cũng phải báo lỗi
  • Khi vi phạm điều kiện chúng ta tạo message cùng với các key được add thông qua hàm addFieldError


-Thực hiện chỉnh sửa bổ sung tập tin struts.xml như sau

  • Bổ sung thêm result với giá trị input và đường dẫn đến chính trang index.jsp để khi có lỗi về nhập xuất không đúng theo điều kiện ràng buộc sẽ quay ngược lại trang index.jsp báo lỗi với hỗ trợ của tag s:head

-Clean and Build, Deploy và test ứng dụng
login.jsp
 Null username and password
 Null password
 Null username
Username.length() < 4 
Login success
 index.jsp

0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang