struts2表单验证

一、struts2的表单

1、表单jsp代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!--引入struts2编写表单所需的东西-->
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>学生</title>
</head>
<body>
    <s:head/>
    <!--struts2表单默认是post提交,可以不用写-->
    <s:form action="studentTest.action">
        <!--name的值必须与实体类(Model)的值相对应-->
        <s:textfield name="userName" label="用户名"/>
        <s:textfield name="age" label="年龄"/>
        <s:textfield name="email" label="邮箱"/>
        <!--为了方便验证,这里密码没有用password类型-->
        <s:textfield name="password" label="密码"/>
        <s:textfield name="repassword" label="确认密码"/>
        <s:textfield name="score" label="成绩"/>
        <s:textfield name="url" label="个人主页"/>
        <!--radio:单选按钮,list:里面是单选的值,注意list的格式{'',''}-->
        <s:radio name="gender" list="{'男','女'}" label="性别"/>
        <s:submit value="提交"/>
    </s:form>
</body>
</html>
2、表单效果图

这里写图片描述

3、验证表单的配置

步骤:(1)在对应的action下面创建xml文件
这里写图片描述
(2)xml文件名规则:ActionClassName(动作类名称)-ActionName(动作名称)-validation.xml(验证该动作类中指定的动作方法

4、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值与jsp中的表单的name值一一对应-->
    <field name="userName">
        <field-validator type="requiredstring">
            <message>请输入用户名</message>
        </field-validator>
    </field>

    <field name="age">
        <field-validator type="int">
            <!--设置年龄的最小值-->
            <param name="min">18</param>
            <!--设置年龄的最大值-->
            <param name="max">100</param>
            <message>年龄18-100</message>
        </field-validator>
    </field>

    <field name="email">
        <field-validator type="email">
            <message>输入正确的邮箱</message>
        </field-validator>
    </field>

    <field name="password">
        <field-validator type="requiredstring">
            <param name="trim">false</param>
            <message>请输入密码</message>
        </field-validator>
        <field-validator type="stringlength">
            <param name="minLength">3</param>
            <param name="maxLength">8</param>
            <message>密码长度3-8</message>
        </field-validator>
    </field>

    <!-- 确认密码是两个字段之间的比较,所以使用基于验证器验证 -->

    <validator type="expression">
        <param name="expression">
            <![CDATA[
                password=repassword
            ]]>
        </param>
        <message>两次密码不一致</message>
    </validator>

    <field name="score">
        <!-- regex是正则表达式 -->
        <field-validator type="regex">
            <param name="regex">\d+</param>
            <message>请输入正确的成绩</message>
        </field-validator>
    </field>

    <field name="url">
        <field-validator type="url">
            <message>请输入正确网址</message>
        </field-validator>
    </field>

    <field name="gender">
        <field-validator type="required">
            <message>请选择性别</message>
        </field-validator>
    </field>
</validators>
4、xml配置文件中field-validator中的type详解

源码路径:struts-2.3.15.3\src\xwork-core\src\main\resources\com\opensymphony\xwork2\validator\validators
这里写图片描述

5、验证效果图

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值