requiredstring Validation trong Struts 2




requiredstring Validation xác định rằng chuỗi không thể là null hoặc blank. Theo mặc định, nó cắt tỉa (bởi tham số trim) chuỗi đã cho và sau đó kiểm tra độ dài của chuỗi có lớn hơn 0 hay không.

Các tham số của requiredstring validation trong Struts 2

Có hai tham số được định nghĩa cho requiredstring validation, đó là:

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

  • trim: cắt tỉa các giá trị của trường. Theo mặc định là true, nghĩa là nó đươc kích hoạt theo mặc định.

Ví dụ requiredstring validation

Cho Plain Validator:

<validators>
    <!-- Vi du cho Plain Validator -->
    <validator type="requiredstring">
        <param name="fieldName">username</param>
        <param name="trim">true</param>
        <message>username la bat buoc</message>
    </validator>
    
</validators>

Cho Field Validator:

<validators>
    <!-- Vi du cho Field Validator -->
    <field name="username">
    	  <field-validator type="requiredstring">
            <param name="trim">true</param>
            <message>username la bat buoc</message>
       </field-validator>
    </field>

</validators>

Ví dụ đầy đủ requiredstring 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="username" label="Username"></s:textfield>
<s:password name="userpass" label="Password"></s:password>
<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 username,userpass;

public String getUsername() {
	return username;
}

public void setUsername(String username) {
	this.username = username;
}

public String getUserpass() {
	return userpass;
}

public void setUserpass(String userpass) {
	this.userpass = userpass;
}

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="username">
  		<field-validator type="requiredstring">
  		<message>Name khong duoc de trong</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" %>

Welcome,<s:property value="username"/>