date Validation trong Struts 2
Date validator kiểm tra xem date đã cung cấp có trong dãy giá trị đã cho hay không. Có ba tham số được định nghĩa cho date validator, đó là:
fieldName: xác định tên trường mà để được validate. Nó chỉ bắt buộc trong Plain-Validator.
min: xác định giá trị tối thiểu. Theo mặc định, nó được bỏ qua.
max: xác định giá trị tối đa. Theo mặc định, nó được bỏ qua.
Ví dụ date validation
Cho Plain Validator:
<validators> <!-- Vi du cho Plain Validator --> <validator type="date"> <param name="fieldName">dob</param> <param name="min">01/01/1980</param> <param name="max">01/01/2010</param> <message>Ngay sinh phai nam trong khoang tu toi </message> </validator> </validators>
Cho Field Validator:
<validators> <!-- Vi du cho Field Validator --> <field name="dob"> <field-validator type="date"> <param name="min">01/01/1980</param> <param name="max">01/01/2010</param> <message>Ngay sinh phai nam trong khoang tu toi </message> </field> </field> </validators>
Ví dụ đầy đủ date validation trong Struts 2
Tạo index.jsp
Cho input từ người dùng. Nó nhận name, password, và email id từ người dùng.
<%@ taglib uri="/struts-tags" prefix="s" %> <s:form action="register"> <s:textfield name="dob" label="Ngay sinh"></s:textfield> <s:submit value="register"></s:submit> </s:form>
Tạo lớp action
:Lớp này kế thừa lớp ActionSupport và ghi đè phương thức validate.
RegisterAction.java
package com.vietjack; import java.util.Date; import com.opensymphony.xwork2.ActionSupport; public class Register extends ActionSupport{ private Date dob; public Date getDob() { return dob; } public void setDob(Date dob) { this.dob = dob; } public String execute(){ return "success"; } }
Tạo validation file
Tại đây chúng ta đang sử dụng bundled validator để thực hiện trình validation.
Register-validation.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> <validators> <field name="dob"> <field-validator type="date"> <param name="min">01/01/1950</param> <param name="max">01/01/2010</param> <message>Ngay sinh phai nam trong khoang tu toi </message> </field-validator> </field> </validators>
Tạo struts.xml
xml file định nghĩa một result bởi tên đã nhập, và một interceptor là jsonValidatorWorkflowStack.
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="default" extends="struts-default"> <action name="register" class="com.vietjack.Register"> <result name="input">index.jsp</result> <result>welcome.jsp</result> </action> </package> </struts>
Tạo các thành phần view
JSP file đơn giản này hiển thị thông tin về người dùng.
welcome.jsp
<%@ taglib uri="/struts-tags" prefix="s" %> Ngay sinh:<s:property value="dob"/>