Struts2——框架校验(基于XML配置方式)

来源:互联网 发布:黄金原油数据 编辑:程序博客网 时间:2024/05/29 11:02

1、定义Action 继承ActionSupport或者实现Validateable接口:

2、配置验证出错转向的页面(配置name为input的result)

3、配置验证的xml文件

ActionClassName-validation.xml(同个包)其中ActionClassName为 action的简单类名,-validation为固定写法。

4、添加验证规则

<validators>: 根元素<field>:指定action中要校验的属性,name属性指定将被验证表单字段的名字<field-validator>:指定校验器, type 指定验证规则。<param>:子元素可向验证程序传递参数<message>:校验失败后的提示信息,可为message指定key的编码类型(utf-8)

5、一些常用的验证属性

  • required: 确保某给定字段值不是空值 null

  • requiredstring: 确保某给定字段的值既不是空值 null, 也不是空白.

        trim (参数): 默认为true, 表示验证该字段值前先剔除前后空格. 
  • stringlength: 验证一个非空字段值是否满足长度要求.

        minLength:相关字段的最小长度. 若未给出没有最小长度限制    maxLength:相关字段的最大长度. 若未给出没有最大长度限制    trim: 在验证之前是否去除前后空格
  • int: 检查给定字段的值是否可以被转换为一个整数

        min: 相关字段的最小值. 若没给出这个参数, 该字段将没有最小值限制    max: 相关字段的最大值. 若没给出这个参数, 该字段将没有最大值限制
  • date: 确保某给定日期值在一个给定范围内

        max:相关字段的最大值. 若没给出该参数, 该字段无最大值限制    min:相关字段的最小值. 若没给出该参数, 该字段无最小值限制
//使用SimpleDateForamat类, 改输出日期格式Date date = new Date();SimpleDateForamat strdate = new SimpleDateFormat("YYYY-MM-dd");//使输出的格式为YYYY-MM-ddSystem.out.println(strdate.format(date));   // 输出为你需要的格式 2020-4-14
  • email: 检查给定 String 值是否是一个合法的 email

  • url: 检查给定 String 值是否是一个合法的 url

  • regex: 检查某给定字段的值是否与一个给定的正则表达式模式相匹配.

        expression: 用来匹配的正则表达式    caseSensitive: 是否区分字母的大小写. 默认为 true    trim: 是否去除前后空格. 默认为 true

6、特别注意配置JSP页面

<%@taglib uri="/struts-tags" prefix="s" %>//标签引用头文件<s:fielderror></s:fielderror>//显示xml配置<message>的信息

7、一个小栗子
Loginaction.java

//注意继承ActionSupportpublic class Loginaction extends ActionSupport implements ModelDriven{    User user = new User();    @Override    public String execute() throws Exception {        return SUCCESS;    }    @Override    public Object getModel() {        // TODO 自动生成的方法存根        return user;    }}

struts.xml

    <action name="Loginaction" class="com.dao.Loginaction">        <result>/success.jsp</result>        <result name="input">/login.jsp</result>        //input设置验证失败页面    </action>

Loginaction-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="name">        <field-validator type="requiredstring">            <param name="trim">true</param>            <message>用户名必填</message>        </field-validator>    </field>    <field name="email">        <field-validator type="email">            <message>email格式不正确</message>        </field-validator>    </field></validators>

验证失败效果图
这里写图片描述
这里写图片描述


验证成功效果图
这里写图片描述
这里写图片描述

0 0
原创粉丝点击