天天看点

Struts2 内置验证器的使用例子

package com.itheima.action;

import java.util.Date;

import com.opensymphony.xwork2.ActionSupport;

public class StudentAction extends ActionSupport {
    private String username;
    private String password;
    private String repassword;
    private String email;
    private Date birthday;
    private String netaddress;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getRepassword() {
        return repassword;
    }
    public void setRepassword(String repassword) {
        this.repassword = repassword;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public Date getBirthday() {
        return birthday;
    }
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
    public String getNetaddress() {
        return netaddress;
    }
    public void setNetaddress(String netaddress) {
        this.netaddress = netaddress;
    }
    public String regist(){
        System.out.println(this);
        return SUCCESS;
    }
    @Override
    public String toString() {
        return "StudentAction [username=" + username + ", password=" + password
                + ", repassword=" + repassword + ", email=" + email
                + ", birthday=" + birthday + ", netaddress=" + netaddress + "]";
    }

}
           
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
        "-//Apache Struts//XWork Validator 1.0.3//EN"
        "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
    <field name="username">
        <field-validator type="requiredstring">
            <message>名字不能为空</message>
        </field-validator>
        <field-validator type="regex">
            <param name="regex">
                <![CDATA[[a-zA-Z]{3,8}]]>
            </param>
            <message>名字必须由3~8位字母组成</message>
        </field-validator>
    </field>
    <field name="password">
        <field-validator type="requiredstring">
            <message>密码不能为空</message>
        </field-validator>
        <field-validator type="strong">
            <message>密码必须由至少一个大写和小写和数字组成</message>
        </field-validator>
    </field>
    <!-- 非字段验证 :要使用s:actionError显示错误提示-->
    <validator type="expression">
        <param name="expression">
            repassword==password
        </param>
        <message>两次密码必须一致</message>
    </validator>
    <field name="email">
        <field-validator type="email">
            <message>请输入正确的邮箱</message>
        </field-validator>
    </field>
    <field name="birthday">
        <field-validator type="date">
            <param name="min">2000-01-01</param>
            <param name="max">2010-12-31</param>
            <message>请输入正确的日期</message>
        </field-validator>
    </field>
    <field name="netaddress">
        <field-validator type="url">
            <message>请输入正确的地址:协议_主机_资源地址</message>
        </field-validator>
    </field>
</validators>