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:字符串传递校验器。参数:minLength,maxLength。错误信息中可以使用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>