struts2学习笔记(四)基于xml的框架校验
2014-03-11 11:12
288 查看
5、框架验证,基于XML格式的验证
验证哪个action,就建立一个RegisterAction-validation.xml文件,在xml中引用Field字段校验 validator非字段校验
RegisterAction-test-validation.xml对action里面的test()发放进行校验,但是仍会对RegisterAction-validation.xml进行全局校验,(建议不要使用全局的校验,对每个方法进行一个局部校验)
Field字段校验
<!DOCTYPE validators PUBLIC"-//OpenSymphony Group//XWork Validator 1.0.2//EN""http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">文件
<validators>
<!-- 一个filed表示对一个属性进行校验 -->
<field
name ="username">
<!-- 一个field-validator表示对一个属性进行某种type方式的校验,查询
-->
<!-- requiredstring表示必填 -->
<field-validator
type="requiredstring">
<!-- trim表示将字符串两边的空格全部忽略 -->
<param
name="trim">true</param>
<!-- message表示校验失败时,给用户的信息 -->
<message>username should not be blank</message>
</field-validator>
<!-- stringLength表示验证输入长度 -->
<field-validator
type="stringlength">
<param
name="minLength">6</param>
<param
name="maxLength">10</param>
<message>username should be between ${minLength} and&{maxLength}</message>
</field-validator>
</field>
<field
name="age">
<field-validator
type="required">
<message>age should not be blank!</message>
</field-validator>
<field-validator
type="int">
<param
name="min">1</param>
<param
name="max">150</param>
<message>age should be between ${min} and ${max}</message>
</field-validator>
</field>
<field
name="birthday">
<field-validator
type="required">
<message>birthday should not be blank!</message>
</field-validator>
<field-validator
type="date">
<param
name="min">2001-01-01</param>
<param
name="max">2003-12-31</param>
<message>birthday should be between ${min} and ${max}</message>
</field-validator>
</field>
</validators>
<s:fielderror cssStyle="color:red" />必须使用fielderror在jsp页面中
Requiredstring表示对字符串不能为空进行校验
当不是字符串的时候要用required进行空校验
重写public void validate()
和框架校验最好只写一个,避免对某个表单重复校验
非字段校验
<validatortype="requiredstring"><paramname="fieldName">username</param>
<message>username should not beblank!</message>
</validator>
<validatortype="stringlength">
<param name="fieldName">username</param>
<paramname="minLength">6</param>
<paramname="maxLength">10</param>
<message>username should bebetween ${minLength} and ${maxLength}</message>
</validator>
相对来说字段校验更加直观方便,最好不要混合使用,但是可以同时并存
1、真正存放field级别信息的对象是LinkedHashMap
2、该linkedhashmap的key是String类型的,value是ArrayList类型的
3、对于action级别的错误信息都是放在arraylist中
相关文章推荐
- 蜗牛—Java基础之学习(三)
- testhello.java
- java.lang.OutOfMemoryError: PermGen space 问题定位的方法
- Java ToString用法
- JAVA中int、String的类型转换
- Java中getResourceAsStream的用法
- Struts2学习笔记(三) 输入校验
- eclipse中查找和去除不正确的标签
- 在项目中使用Struts2的基本步骤
- struts 学习笔记(二)类型转化
- java23种设计模式--桥接模式(bridge)
- “Java欢迎你”
- 【示例】《Java程序设计》第二周博文:第二周 计算圆面积
- java欢迎你
- Strus2 学习笔记 (一)struts的简单配置及实例
- 深入研究Java类加载机制
- java.lang.ClassCastException: sun.jdbc.odbc.JdbcOdbcStatement cannot be cast to java.beans.Statement
- Spring mvc 配置事务的注意点
- maven入门 eclipse maven
- 简易“java欢迎你!”