*****************
regist.jsp
*****************
< %@ page contentType=" text/html; charset=gb2312" %>
< %@ taglib prefix=" s" uri=" /struts-tags" %>
< html>
< body>
< s:form action=" validate5" >
< s:textfield name=" username" label=" 用户名" required=" true" />
< s:textfield name=" pass1" label=" 输入密码" required=" true" />
< s:textfield name=" pass2" label=" 重复密码" required=" true" />
< s:textfield name=" age" label=" 年龄" required=" true" />
< s:submit value=" 提交" />
< /s:form>
< /body>
< /html>
*****************
struts.xml
*****************
< ?xml version=" 1.0" encoding=" GBK" ?>
< !DOCTYPE struts PUBLIC
" -//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
" http://struts.apache.org/dtds/struts-2.0.dtd" >
< struts>
< package name=" default" extends=" struts-default" >
< action name=" validate5" class=" sunyang.validateFrame.Regist" >
< !-- 配置出错提示页面 -->
< result name=" input" > regist.jsp< /result>
< !-- 配置成功后跳转页面 -->
< result> welcome.jsp< /result>
< /action>
< /package>
< /struts>
*****************
Regist.java
*****************
package sunyang.validateFrame;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings(" serial" )
public class Regist extends ActionSupport {
private String username;
private String pass1;
private String pass2;
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getPass1() {
return pass1;
}
public void setPass1(String pass1) {
this.pass1 = pass1;
}
public String getPass2() {
return pass2;
}
public void setPass2(String pass2) {
this.pass2 = pass2;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
*****************
Regist-validation.xml
*****************
< ?xml version=" 1.0" encoding=" GBK" ?>
< !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> 必须输入用户名< /message>
< /field-validator>
< !-- 校验用户名格式 -->
< field-validator type=" regex" >
< param name=" expression" >
< ![CDATA[(\w{ 4,25} )]]>
< /param>
< message> 用户名必须是字母和数字的组合且长度在(4-15)范围内< /message>
< /field-validator>
< /field>
< !-- 密码校验区域 -->
< field name=" pass1" >
< !-- 校验密码不能为空 -->
< field-validator type=" requiredstring" >
< message> 必须输入密码< /message>
< /field-validator>
< !-- 校验密码格式 -->
< field-validator type=" regex" >
< param name=" expression" >
< ![CDATA[(\w{ 6,15} )]]>
< /param>
< message> 密码必须是字母和数字的组合且长度在(6-15)范围内< /message>
< /field-validator>
< /field>
< !-- 重复输入密码校验区域 -->
< field name=" pass2" >
< !-- 重复输入密码不能为空 -->
< field-validator type=" requiredstring" >
< message> 必须重复输入密码< /message>
< /field-validator>
< !-- 校验重复输入密码格式 -->
< field-validator type=" regex" >
< param name=" expression" >
< ![CDATA[(\w{ 6,15} )]]>
< /param>
< message> 密码必须是字母和数字的组合且长度在(6-15)范围内< /message>
< /field-validator>
< !-- 校验两次输入密码的一致性 -->
< field-validator type=" fieldexpression" >
< param name=" expression" >
< ![CDATA[(pass2.equals(pass1))]]>
< /param>
< message> 两次输入密码不符< /message>
< /field-validator>
< /field>
< !-- 年龄校验区域 -->
< field name=" age" >
< !-- 校验年龄不能为空 -->
< field-validator type=" required" >
< message> 必须输入年龄< /message>
< /field-validator>
< !-- 校验年龄范围 -->
< field-validator type=" int" >
< param name=" min" > 1< /param>
< param name=" max" > 99< /param>
< message> 年龄必须为整数且在(1-99)范围内< /message>
< /field-validator>
< /field>
< /validators>
regist.jsp
*****************
< %@ page contentType=" text/html; charset=gb2312" %>
< %@ taglib prefix=" s" uri=" /struts-tags" %>
< html>
< body>
< s:form action=" validate5" >
< s:textfield name=" username" label=" 用户名" required=" true" />
< s:textfield name=" pass1" label=" 输入密码" required=" true" />
< s:textfield name=" pass2" label=" 重复密码" required=" true" />
< s:textfield name=" age" label=" 年龄" required=" true" />
< s:submit value=" 提交" />
< /s:form>
< /body>
< /html>
*****************
struts.xml
*****************
< ?xml version=" 1.0" encoding=" GBK" ?>
< !DOCTYPE struts PUBLIC
" -//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
" http://struts.apache.org/dtds/struts-2.0.dtd" >
< struts>
< package name=" default" extends=" struts-default" >
< action name=" validate5" class=" sunyang.validateFrame.Regist" >
< !-- 配置出错提示页面 -->
< result name=" input" > regist.jsp< /result>
< !-- 配置成功后跳转页面 -->
< result> welcome.jsp< /result>
< /action>
< /package>
< /struts>
*****************
Regist.java
*****************
package sunyang.validateFrame;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings(" serial" )
public class Regist extends ActionSupport {
private String username;
private String pass1;
private String pass2;
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getPass1() {
return pass1;
}
public void setPass1(String pass1) {
this.pass1 = pass1;
}
public String getPass2() {
return pass2;
}
public void setPass2(String pass2) {
this.pass2 = pass2;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
*****************
Regist-validation.xml
*****************
< ?xml version=" 1.0" encoding=" GBK" ?>
< !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> 必须输入用户名< /message>
< /field-validator>
< !-- 校验用户名格式 -->
< field-validator type=" regex" >
< param name=" expression" >
< ![CDATA[(\w{ 4,25} )]]>
< /param>
< message> 用户名必须是字母和数字的组合且长度在(4-15)范围内< /message>
< /field-validator>
< /field>
< !-- 密码校验区域 -->
< field name=" pass1" >
< !-- 校验密码不能为空 -->
< field-validator type=" requiredstring" >
< message> 必须输入密码< /message>
< /field-validator>
< !-- 校验密码格式 -->
< field-validator type=" regex" >
< param name=" expression" >
< ![CDATA[(\w{ 6,15} )]]>
< /param>
< message> 密码必须是字母和数字的组合且长度在(6-15)范围内< /message>
< /field-validator>
< /field>
< !-- 重复输入密码校验区域 -->
< field name=" pass2" >
< !-- 重复输入密码不能为空 -->
< field-validator type=" requiredstring" >
< message> 必须重复输入密码< /message>
< /field-validator>
< !-- 校验重复输入密码格式 -->
< field-validator type=" regex" >
< param name=" expression" >
< ![CDATA[(\w{ 6,15} )]]>
< /param>
< message> 密码必须是字母和数字的组合且长度在(6-15)范围内< /message>
< /field-validator>
< !-- 校验两次输入密码的一致性 -->
< field-validator type=" fieldexpression" >
< param name=" expression" >
< ![CDATA[(pass2.equals(pass1))]]>
< /param>
< message> 两次输入密码不符< /message>
< /field-validator>
< /field>
< !-- 年龄校验区域 -->
< field name=" age" >
< !-- 校验年龄不能为空 -->
< field-validator type=" required" >
< message> 必须输入年龄< /message>
< /field-validator>
< !-- 校验年龄范围 -->
< field-validator type=" int" >
< param name=" min" > 1< /param>
< param name=" max" > 99< /param>
< message> 年龄必须为整数且在(1-99)范围内< /message>
< /field-validator>
< /field>
< /validators>