double Validation kiểm tra xem số thực đã cung cấp có trong dãy giá trị đã cho hay không. Nó có thể được sử dụng cho giá sản phẩm, …
Có 5 tham số được định nghĩa cho double Validator, đó là:
- fieldName: xác định tên trường mà để được validate. Nó chỉ bắt buộc trong Plain-Validator.
- minInclusive: xác định giá trị tối thiểu (bao gồm cả giá trị này), và được bỏ qua theo mặc định.
- maxInclusive: xác định giá trị tối đa (bao gồm cả giá trị này), và được bỏ qua theo mặc định.
- minExclusive: xác định giá trị tối thiểu (loại trừ giá trị này), và được bỏ qua theo mặc định.
- maxExclusive: xác định giá trị tối đa (loại trừ giá trị này), và được bỏ qua theo mặc định.
Ví dụ double validation
Cho Plain Validator:
<validators> <!-- Vi du cho Plain Validator --> <validator type="double"> <param name="fieldName">price</param> <param name="minInclusive">100.0</param> <param name="maxInclusive">10000.0</param> <message>Price phai nam trong khoang tu toi </message> </validator> </validators>
Cho Field Validator:
<validators> <!-- Vi du cho Field Validator --> <field name="price"> <field-validator type="double"> <param name="minInclusive">100.0</param> <param name="maxInclusive">10000.0</param> <message>Price phai nam trong khoang tu toi </message> </field-validator> </field> </validators>
Ví dụ đầy đủ double 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" %>
<html>
<head>
<STYLE type="text/css">
.errorMessage{color:red;}
</STYLE>
</head>
<body>
<s:form action="register">
<s:textfield name="id" label="Product Id"></s:textfield>
<s:textfield name="price" label="Product Price"></s:textfield>
<s:submit value="register"></s:submit>
</s:form>
</body>
</html>
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.hoclaptrinh; import com.opensymphony.xwork2.ActionSupport; public class Register extends ActionSupport{ private int id; private double price; public int getId() { return id; } public void setId(int id) { this.id = id; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } 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"?> <validators> <field name="price"> <field-validator type="double"> <param name="minInclusive">100.0</param> <param name="maxExclusive">9999.9</param> <message>Price 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" ?> <struts> <package name="default" extends="struts-default"> <action name="register" class="com.hoclaptrinh.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" %> Product Id:<s:property value="id"/><br/> Product price:<s:property value="price"/>