Struts2中输入效验

Struts2中常见的输入效验有一下三种

  1. 使用Javascript完成客户端效验
    使用Javascript客户端需要编写Javascript 并且需要浏览器支持
    function check(form){
        with(form){
            if(username.value == ""){
                alert("用户名不能为空!");
                return false;
            }
            if(password.value == ""){
                alert("密码不能为空");
                return false;
            }

            return true;
        }
    }

</script>   

并要在表单中这样引用

<form class="form-signin" method="post" onsubmit="return check(this);"action="Login">
  1. 使用Validate方法进行输入效验
    在action类中重写validate()方法,即可在该方法中完成输入效验,如:
    @Override public void validate(){
        if(username.length()==0){
            addFieldError("username","yonghukong");
        }
        if(pass.trim().length()==0){
            addFieldError("pass","没有输入值");
        }else if(pass.trim().length()<3){
            addFieldError("pass","长度不符合要求");            
        }
    }
  1. 使用Struts2框架的输入效验
    框架效验需要xml文件,若action的类名为CheckLogin,则该文件为CheckLogin-validation.xml,并且要与对应action位于同一目录下
    1.使用字段效验的输入效验
    一个完完整的效应配置文件
<!DOCTYPE validators PUBLIC 
    "-//Apache Struts//XWork Validator 1.0.2//EN"
    "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
    <field name="username">
        <field-validator type="stringlength">
            <param name="minLength">6</param>
            <param name="maxLength">10</param>
            <message>用户名长度必须在${minLength}与${maxLength}之间</message>
        </field-validator>
        <field-validator type="requiredstring">
            <message>用户名不能为空</message>
        </field-validator>
    </field>

    <field name="password">
        <field-validator type="stringlength">
            <param name="minLength">6</param>
            <param name="maxLength">10</param>
            <message>密码长度必须在${minLength}与${maxLength}之间</message>
        </field-validator>
        <field-validator type="requiredstring">
            <message>密码不能为空</message>
        </field-validator>
    </field>
</validators>
2.非字段效验
<!DOCTYPE validators PUBLIC 
    "-//Apache Struts//XWork Validator 1.0.2//EN"
    "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>

    <validator type="stringlength">
        <param name="fieldName">username</param>
        <param name="minLength">6</param>
        <param name="maxLength">10</param>
        <message>用户名长度必须在${minLength}与${maxLength}之间</message>
    </validator>




    <validator type="stringlength">
        <param name="fieldName">password</param>
        <param name="minLength">6</param>
        <param name="maxLength">10</param>
        <message>密码长度必须在${minLength}与${maxLength}之间</message>
    </validator>


</validators>

3.效验器的短路
一个效验器设置short-circuit=”true” 如果这个校验器不通过,本字段后边的校验器不再运行
非字段校验器的优先级高于字段校验器,非字段校验器按照定义的顺序首先运行,然后字段校验器按照定义的顺序运行。
非字段校验不通过,后边所有字段的校验器都不会运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值