double Validation trong Struts 2

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"/>

Bình luận