美文网首页
struts的表单数据验证方式

struts的表单数据验证方式

作者: 不想当菜鸟了 | 来源:发表于2019-03-11 18:28 被阅读0次

    1. 服务端Action验证:

    /**

    * struts自带表单字段的验证

    * 第一种:重写validate方法,这个Action必须实现ActionSupport,如果数据不对,可以往FieldError添加字段错误信息

    * 注意:表单一定要用struts的标签

    *          addFieldError里的key,是表单的name值

    *          validate对于Action来说是全局的,也就是说action的所有方法都会生效

    *          在不需要验证的action方法上,可以声明一个注解@SkipValidation,忽略校验

    * 第二种:写一个方法,格式:validate+方法名(第一个字母大写)

    *                只针对方法有效,是一个局部的方法校验

    * @return

    */

    public void validate(){

        //判断用户名是否为null

        if(StringUtils.isEmpty(user.getUsername())){

            addFieldError("username","用户名不能为空");

        }

        if(StringUtils.isEmpty(user.getPassword())){

            addFieldError("password","密码不能为空");

        }

    }

    2. xml声明式验证

    全局声明方式:

    在action包中声明UserAction-validation.xml文件

    这种方式配置是全局配置,所有action的方法都会拦截验证

    如果其它方法不想验证,可配置@SkipValidation注解

    dtd约束可以在xwork-core的jar包中找

    <?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-->

        <field name="username">

            <field-validator type="requiredstring">

                <param name="fieldName">username</param>

                <message>用户名不能为空-xml</message>

            </field-validator>

        </field>

    <!--第二种校验字段方式:field-->

    <validator type="requiredstring">

        <param name="fieldName">password</param>

        <message>密码不能为空-xml</message>

    </validator>

    </validators>

    3. 局部声明方式

    在action包中声明UserAction-register-validation.xml文件

    声明方式【Action类名-方法名-validation.xml

    xml内容与上面的一样

    相关文章

      网友评论

          本文标题:struts的表单数据验证方式

          本文链接:https://www.haomeiwen.com/subject/gcibpqtx.html