Struts2(十七)验证框架二

一、实现注册验证

package com.pb.entity;

import java.util.Date;

/**
 * 用户实体类
 *
 */
public class User {
    /**
     * 住址
     */
    private String address;
    /**
     * 年龄
     */
    private Integer age;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 密码
     */
    private String password;

    /**
     * 电话或者手机
     */
    private String phone;

    /**
     * 用户名
     */
    private String username;

    /**
     * 出生日期
     *
     */
    private Date brithDate;

public String getAddress() {
    return address;
}

    public Integer getAge() {
        return age;
    }

    public String getEmail() {
        return email;
    }

    public String getPassword() {
        return password;
    }

    public String getPhone() {
        return phone;
    }

    /**
     * 与之对应的getter和setter方法
     *
     */
        public String getUsername() {
            return username;
        }

    public void setAddress(String address) {
        this.address = address;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

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

    public Date getBrithDate() {
        return brithDate;
    }

    public void setBrithDate(Date brithDate) {
        this.brithDate = brithDate;
    }

}

Action

package com.pb.web.action;

import com.opensymphony.xwork2.ActionSupport;
import com.pb.entity.User;

public class UserAction extends ActionSupport {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    /**
     * 用户
     */
    private User user;
    private String repassword;

    /**
     * 注册验证方法
     *
     */
    public String Register(){
        System.out.println("完成注册");

        return SUCCESS;
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public String getRepassword() {
        return repassword;
    }

    public void setRepassword(String repassword) {
        this.repassword = repassword;
    }

}

页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 <%@taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<sx:head parseContent="true"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>注册页面</title>
</head>
<body>
<form action="registor.action" method="post">
用户名:<input type="text" name="user.username" /><br/>
密码:<input type="password" name="user.password" /><br/>
确认密码:<input type="password" name="repassword" /><br/>
年龄:<input type="text" name="user.age" /><br/>
电话或者手机:<input type="text" name="user.phone" /><span>例如:电话:0755-88888888或者手机:13800138000</span><br/>
邮箱:<input type="text" name="user.email" /><br/>
住址:<textarea rows="5" cols="20" name="user.address" ></textarea><br/>

出生日期:<input type="text"  name="user.brithDate"/><br/><span>例如:1970-01-01</span>
<%-- <sx:datetimepicker name="user.brithDate"/><br/> --%>
<input type="submit" value="注册" /><input type="reset" value="重置" />
</form>
<s:fielderror />

</body>
</html>

UserAction-registor-validation.xml

<?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="user.username">
 <field-validator type="requiredstring">
 <param name="trim">true</param>
 <message>用户名不能为空!</message>
 </field-validator>

 <field-validator type="stringlength">
 <param name="trim">true</param>
 <param name="minLength">4</param>
  <param name="maxLength">16</param>
  <message>用户名必须为${minLength} 至${maxLength} 之间,当前为${user.username}</message>
 </field-validator>
 </field>
 <!-- 用户密码 -->
 <field name="user.password">
 <field-validator type="requiredstring">
 <param name="trim">true</param>
 <message>密码不能为空</message>
 </field-validator>
 <field-validator type="stringlength">
 <param name="minLength">4</param>
 <param name="maxLength">20</param>
 <message>密码必须为${minLength} 至${maxLength} 之间,当前为${user.password}</message>
 </field-validator>
 </field>
 <!-- 确认密码 -->
 <field name="repassword">
 <field-validator type="requiredstring">
 <param name="trim">true</param>
 <message>确认密码不能为空!</message>
 </field-validator>
 <field-validator type="fieldexpression">
 <param name="expression">repassword eq user.password</param>
 <message>确认密码必须与密码输入一致!</message>
 </field-validator>
 </field>
 <!--年龄  -->
 <field name="user.age">
 <field-validator type="required">
 <param name="trim">true</param>
 <message>年龄不能为空</message>
 </field-validator>
 <field-validator type="int">
 <param name="min">1</param>
 <param name="max">200</param>
 <message>年龄必须在${min} 至${max}之间,当前为${user.age}</message>
 </field-validator>
 </field>
 <!-- 电话user.phone -->
 <field name="user.phone">
 <field-validator type="requiredstring">
 <param name="trim">true</param>
 <message>电话号码不能为空!</message>
 </field-validator>
 <field-validator type="regex">
 <param name="regex">^((\d{3,4}-){0,1}(\d{7,8}))|(\d{11})$</param>
 <message>电话号码或者手机号格式不正确!</message>
 </field-validator>
 </field>
 <!--邮箱验证  -->
 <field name="user.email">
 <field-validator type="requiredstring">
 <param name="trim">true</param>
 <message>邮箱不能为空!</message>
 </field-validator>
 <field-validator type="email">
 <param name="email"></param>
 <message>邮箱格式不正确!</message>
 </field-validator>
 </field>
 <!--  住址-->
 <field name="user.address">
 <field-validator type="requiredstring">
 <param name="trim">true</param>
 <message>住址不能为空!</message>
 </field-validator>
 <field-validator type="stringlength">
 <param name="minLength">5</param>
  <param name="maxLength">200</param>
  <message><![CDATA[地址长度为${minLength} 至${maxLength} 之间,当前为${user.address}]]></message>
 </field-validator>
 </field>
 <!-- 出生日期 -->
 <field name="user.brithDate">
 <field-validator type="required">
 <param name="trim">true</param>
 <message>出生日期不能为空</message>
 </field-validator>
 <field-validator type="regex">
 <param name="regex">^\d{2,4}-\d{1,2}-\d{2,4}$
</param>

 <message>日期格式不正确!</message>
 </field-validator>
 </field>
 </validators>
时间: 2024-10-22 20:04:06

Struts2(十七)验证框架二的相关文章

Struts2之验证框架二(通过action类名-validation.xml方式)

1 index.jsp <%@ taglib uri="/struts-tags" prefix="s"%> <body> <s:form action="ValidateByXML"  > <s:textfield name="username" label="用户名:"></s:textfield><br> <s:textfi

Struts2框架使用(九)之struts2的验证框架

Struts2 验证简介 Struts2 基于 Struts2 拦截器,为开发者提供了一套易用的验证框架,并可扩展:一般的验证都支持: Struts2 内置验证 struts2内置的验证器 第三节 :自定义验证Struts2 基于 Struts2 拦截器,为开发者提供了一套易用的验证框架,并可扩展:一般的验证都支持,下面,将以一个注册的例子来举例: 首先创建一个pojo类 package com.mrlv.pojo; public class User { private String user

Struts2验证框架的注意事项

在编写struts2 的验证框架的时候 需要注意几点 1.编写的验证框架的配置文件要和被验证的Action的名称有一定的联系 age:Acton的名称:LoginUserAction  配置文件名:LoignUserAction-validation.xml 当Action里面得方法不止一个的时候 并且其他的方法不需要验证的时候 此时配置文件名为:LoginUserAction-mthodName-validation.xml    age(LoginUserAction-add-validat

Struts2数据验证机制

1. 手动验证的实现 只需要在继承ActionSupport类的情况下,直接重写validate()方法即可.使用validate()方法可以对用户请求的多个Action方法进行验证,但其验证的逻辑是相同的.如果在一个Action类中编写了多个请求处理方法,而此Action重写了validate()方法,那么,默认情况下,在执行每个请求方法的过程中,都会经过validate()方法的验证处理. 2. 验证文件的命名规则 使用Struts2验证框架,验证文件的名称需要遵循一定的命名规则,其验证文件

Struts2(十二)使用验证框架验证数据较验

一.数据验证 1.1.为什么要进行数据验证 对数据的合法性进行检查,只允许合法的数据进入应用程序 1.2.在哪里实现数据验证 客户端验证: 数据提交前在客户端验证 可使用JavaScript或者JQuery实现 特点:减少客户等待时间,减小服务器压力 服务器端验证: 在数据提交后服务器端验证 特点:防止“绕过”客户端验证提交非法数据 可以在服务器端处理数据前确保数据的合法性 1.3.Struts2有两种方式实现服务器端数据验证 使用ActionSupport编码实现验证 使用验证框架实现验证 二

struts2学习笔记(三)—— 在用户注冊程序中使用验证框架

实现目标: 1.使用验证框架对用户注冊信息进行验证 2.验证username.password.邮箱不能为空 3.验证username.password长度 4.验证邮件地址格式 详细实现 一.Struts2应用的基础配置 这里不做具体阐述,具体为web.xml.相关jar包的配置 二.将页面显示的文本内容放到资源文件里 1.查看用户注冊程序中的全部页面,找到全部能够显示的文本内容,将它们分离出来放到资源文件里. 2.与相关的Action类同名,以.preperties为扩展名,与Action类

(七)Struts2 验证框架

所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:Struts2 验证简介 Struts2 基于Struts2 拦截器,为开发者提供了一套易用的验证框架,并可扩展:一般的验证都支持. 第二节:Struts2 内置验证 一,普通字段验证 二,验证表达式: <s:actionerror/> 第三节:自定义验证

struts2(三)---struts2中的服务端数据验证框架validate

struts2为我们提供了一个很好的数据验证框架–validate,该框架可以很方便的实现服务端的数据验证. ActionSupport类提供了一个validate()方法,当我们需要在某一个action中进行数据验证时,可以重写这个方法.数据验证往往是在客户端向服务端提交表单信息时进行的,比如execute方法负责处理表单信息并返回相应的结果,在此之前,validate会先对提交的表单信息进行验证: ->验证通过:会执行execute的相应操作. ->验证失败: –>定义了失败后的re

struts2学习笔记(三)—— 在用户注册程序中使用验证框架

实现目标: 1.使用验证框架对用户注册信息进行验证 2.验证用户名.密码.邮箱不能为空 3.验证用户名.密码长度 4.验证邮件地址格式 具体实现 一.Struts2应用的基础配置 这里不做详细阐述,具体为web.xml.相关jar包的配置 二.将页面显示的文本内容放到资源文件中 1.查看用户注册程序中的所有页面,找到所有可以显示的文本内容,将它们分离出来放到资源文件中. 2.与相关的Action类同名,以.preperties为扩展名,与Action类位于同一个包中,只能由该Action访问 R