url Validation trong Struts 2




url Validator kiểm tra xem giá trị đã cung cấp có là một chuỗi và là một url hợp lệ không. Chỉ có một tham số được định nghĩa cho url Validator, đó là:

  • fieldName: xác định tên trường mà để được validate. Nó chỉ bắt buộc trong Plain-Validator.

Ví dụ url validation

Cho Plain Validator:

<validators>
 <!-- Vi du cho Plain Validator -->
         <validator type="url">
             <param name="fieldName">website</param>
             <message>Website URL khong hop le</message>
         </validator>
    
</validators>

Cho Field Validator:

<validators>
  <!-- Vi du cho Field Validator -->
  <field-validator type="url">
         <field name="website">
             <message>Website URL khong hop le</message>
         </field>
</field-validator>

</validators>

Ví dụ đầy đủ url 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="url" label="Website URL"></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.vietjack;

import com.opensymphony.xwork2.ActionSupport;

public class Register extends ActionSupport{
private String url;

public String getUrl() {
	return url;
}

public void setUrl(String url) {
	this.url = url;
}

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="url">
  		<field-validator type="requiredstring">
  		<message>URL khong duoc de trong</message>
  		</field-validator>
  		<field-validator type="url">
  		<message>URL phai chinh xac, vi du http://www.vietjack.com</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" %>

URL is:<s:property value="url"/>