struts2校验框架(2)

来源:百度文库 编辑:神马文学网 时间:2024/04/26 22:39:36

struts2校验框架(2)

(2009-11-15 10:25:45)转载 标签:

杂谈

分类: Java
================
== 非字段校验 ==
================



 
   
用谁来校验 去校验谁
 validate中的第一个param的name属性永远都是固定的fieldName,对应与要去校验的字段名          username 
               
用户名为必填 解释:用requiredstring校验器去校验username字段,如果出错,显示中的信息       
         username
         6
         10
         用户名必须在 ${minLength}${maxLength} 之间
   
 
=====================================
客户端校验--功能弱,死板(不建议使用)
=====================================
1.
Struts2的的theme一定不能设置为simple2.
的validte属性设置为true3.
Struts2的客户端校验是基于***-validation.xml中的设置生成js代码
==========================
自定义客户端校验
==========================
js:function validate() {
 //document.getElementByName("username")[0] 返回一个所有名为username的数组
 //var usernamue = document.getElementByName("username")[0].value var usernamue = document.getElementByIdx("username").value;
 if( usernamue.length == 0 ) {
  alert("Username should not be blank!");
  return false;
 }
 ...
}
========
= 补充 =
========

1.
集合里面存放的并不是对象,而是对象的引用如:
List list = new ArrayList();
Map map = new LinkedHashMap()'
map.put("1", list);   //存放的是映射
list.add("string1");
list.add("string2");
list.add("string3");
2.
如果既有xml校验,又有validate()校验
将先校验xml,然后进行validate()校验
然后将所有的错误添加进fielderror
3.
真正存放field级别错误信息的对象是LinkedHashMap
该LinkedHashMap的key是String类型的,value是ArrayList类型的
对于Action级别的错误信息,实际上是放置在ArrayList中的4.
不能通过
this.getFieldError().put("...","...");的方法,添加fielderror
因为getFieldError()返回的是一个fieldErrorMap的副本。