您的位置:首页 > 编程语言 > Java开发

java菜鸟之struts2的输入校验

2015-04-16 13:57 344 查看
好吧,作为菜鸟,java之路仍在继续。

这次讲一个关于struts2中校验的问题,由于我的入门书籍是《轻量级javaEE企业实战应用》,发现其中有许多代码是有问题的,现在讲一下validators.

在该书中RegistAction-validatation.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>
<!-- 检验action中的username属性 -->
<field name="username">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>必须输入名字</message>
</field-validator>
<field-validator type="regex">
<param name="expression"><![CDATA[(\w{4,25})]]></param>
<message>您输入的用户名只能是字母和数字,且长度必须在4-25之间</message>
</field-validator>
</field>

<!-- 校验Action的password的属性 -->
<field name="password">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>请输入密码</message>
</field-validator>
<field-validator type="regex">
<param name="expression"><![CDATA[(\w{4,25})]]></param>
<message>您输入的密码只能是字母和数字,且长度必须在4,25之间</message>
</field-validator>
</field>

<!-- 指定age属性必须在指定范围 -->
<field name="age">
<field-validator type="int">
<param name="min">1</param>
<param name="max">150</param>
<message>年纪必须在1-150之间</message>
</field-validator>
</field>

<!-- 指定birth属性在特定的范围内 -->
<field name="birth">
<field-validator type="date">
<param name="min">1900-01-01</param>
<param name="max">2050-02-21</param>
<message>生日必须在${min}到${max}之间</message>
</field-validator>
</field>
</validators>


如果按这个去写,你会发现正则那一块是不会报错的,也就是不会报错输入的“您输入的用户名只能是字母和数字,且长度必须在4-25之间”。别以为书上的代码就一定是正确的。官方文档才是真理。我查看了文档之后发现。将上面expression改为regex就没问题了

好了,只是一个小问题,但是我想说的是,学习java多看官方文档.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: