struts数据校验之使用xml方式校验

<field name=""></field>  //自动校验器

<validator type=""></validator> //非自动校验

其校验器都有:

required:必填校验器
requiredstring:必填字符串校验器
int:整数校验器
double:双精度浮点数校验器
date:日期校验器
expression:表达式校验器
fieldexpression:字段表达式校验器
email:电子邮件校验器
url:网址校验器
visitor:Visitor校验器
conversion:转换校验器
stringlength:字符串长度校验器
regex:正则表达式校验器

用法如下:

requiredstring:必填字符串校验器。参数:trim。必须是字符串形式,其中,表单提交上来的字符串默认是去空了的,所以<param name="trim">true</param>默认就是为true,so这句话可以省略直接写<message>标签里的错误提示信息。

<field name="name">
    <field-validator type="requiredstring">
     <!-- 这句话可省略 -->
<!-- <param name="trim">true</param> --> <message>姓名是必填的</message> </field-validator> </field>

 

stringlength:字符串传递校验器。参数:minLengthmaxLength错误信息中可以使用el表达式将param标签中的name属性值当做变量使用。

<field name="name">
    <field-validator type="stringlength">
        <param name="minLength">3</param>
        <param name="maxLength">10</param>
        <message>姓名应该在${minLength}~${maxLength}位之间</message>
    </field-validator>
</field>

 

required: 必填校验器。参数:trim。表示该字段是必须填写的,但没要求必须是字符串,也可以是整型数值,唯一要求就是要有值。

<field name="age">
    <field-validator type="required">
        <message>年龄不能为空</message>
    </field-validator>
</field>

 

int:整型校验器。参数:min、max。 其范围可以设置最大值和最小值。

<field name="age">
    <field-validator type="int">
        <param name="min">1</param>
        <param name="max">120</param>
        <message>年龄应该在${min}~${max}之间</message>
    </field-validator>
</field>

 

filedexpression:字段表达式校验器。参数:expression。

<field name="repass">
    <field-validator type="fieldexpression">
        <!-- 方式1:使用数学表达式,右边要多一个括号, 否则就会报错,应该是底层代码编写时就多了个括号 -->
        <!-- <param name="expression">(pass != repass))</param> -->
        <!-- 方式2:使用equals -->
        <!-- <param name="expression">!pass.equals(repass))</param> -->
        <!-- 方式3:使用eq,但不需要多写一个括号了,正常使用即可 -->
        <param name="expression">(pass eq repass)</param>
        <message>两次密码输入不一致</message>
    </field-validator>
</field>

 

date:日期校验器。参数:min、max。

<field name="birth">
    <field-validator type="date">
        <param name="min">1900-1-1</param>
        <param name="max">2017-10-6</param>
        <message>出生日期应该在1900-1-1至2017-10-6之间</message>
    </field-validator>
</field>

 

regex:正则表达式校验器。参数:regexExpression。

<field name="email">
    <field-validator type="email">
        <message>邮箱格式不对</message>
    </field-validator>
</field>

 

posted @ 2017-10-06 16:09  JaneBaby  阅读(334)  评论(0编辑  收藏  举报