struts2入门教程五(表单数据的校验)(二)

2014-11-24 01:34:10 · 作者: · 浏览: 1
r 使用正则表达式验证字符串字段。

9required validator 要求field的值不能为null

10requiredstring validator必填字符串校验器,要求field的值不能为null,并且长度大于0,默认情况下会对字符串去前后空格

11stringlength validator 字符串长度校验器,要求field的值必须在指定的范围内,否则校验失败,minLength参数指定最小长度,maxLength参数指定最大长度,trim参数指定校验field之前是否去除字符串前后的空格

12url validator 检查给定的字段是一个字符串和一个有效的URL

13visitor validator 用于校验action中的复合属性,它指定一个校验文件用于校验复合属性中的属性

创建输入表单。

<%@ page language="java"import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags"prefix="s"%>
 

<html>

My JSP 'login.jsp'starting page


   
  
   
  
      
   
      
   
      
   
      
   
      
   
   
  



创建Action类

package action;
 
import java.util.Date;
import java.util.regex.Pattern;
 
import com.opensymphony.xwork2.ActionSupport;
 
public classValidateAction extends ActionSupport {
 
   /**
    *
    */
   private static final long serialVersionUID= 1L;
   private String name;
   private String pass;
   private Date birth;
   private Integer age;
 
   @Override
   public String execute() throws Exception {
 
      return SUCCESS;
   }
 
   public String add() {
      return SUCCESS;
   }
 
  
   public String getName() {
      return name;
   }
 
   public void setName(String name) {
      this.name = name;
   }
 
   public String getPass() {
      return pass;
   }
 
   public void setPass(String pass) {
      this.pass = pass;
   }
 
   public Date getBirth() {
      return birth;
   }
 
   public void setBirth(Date birth) {
      this.birth = birth;
   }
 
   public Integer getAge() {
      return age;
   }
 
   public void setAge(Integer age) {
      this.age = age;
   }
 
}


创建验证器

验证器的命名规范为 -validation.xml or - -validation.xml .

类的验证器

  


  

    
     
     true 
      
     
   

    
     
     true 
     
      密码不能为空
      
     
     
     10 
     2 
     true 
     
      密码应在2-10个字符之间1111
      
     
   

    
     
     1 
     100 
     
      年龄必须在1到100之间
      
     
   

    
     
     1900-01-01 
     2014-01-01 
     
      生日必须在${min}到${max}之间!
      
     
   

  


类的特定方法的验证器

  


  

    
     
     true 
     
      用户名不能为空
      
     
   

    
     
     true 
     
      密码不能为空
      
     
     
     10 
     2 
     true 
     
      密码应在2-10个字符之间
      
     
   

    
     
     1 
     100 
     
      年龄必须在1到100之间
      
     
   

    
     
     1900-01-01 
     2014-01-01 
     
      生日必须在${min}到${max}之间!
      
     
   

  


验证效果

两个验证器同时存在效果--无短路:

\

两个验证器同时存在效果--短路:

将两个方法的名字的验证短路 设置short-circuit="true"

  

    
    true