注:1.对于Action类中的简单属性,可直接使用单独的、与action同层的XXXAction-validation.xml配置文件即可!(简单属性包括基本类型和String等等)
2.对于Action类中的复杂属性,采用visitor验证方式,需要同时编写与action同层的XXXAction-validation.xml文件 和 与该属性对应的model层的实体类同层的XXX-validation.xml文件!
------------------------无聊的分隔线------------------------
这里只讲述复杂属性的visitor验证方式。
1. XXXAction类中的复杂属性必须要有getter访问器方法。
2. XXXAction-validation.xml必须在项目编译后与对应的Action类在同一目录中。
3. XXXAction类的复杂属性对应的实体类的验证文件必须在项目编译后与实体类在同一目录中,并且实体类验证
文件的命名要符合:实体类名-validation.xml。
4. 要在struts.xml配置文件中使用validation拦截器和workflow拦截器(使用workflow拦截器是为了在validation 拦截器中出现验证失败后流程不再继续往下走,而是返回定义的INPUT视图)。若要忽略某些方法不做验证(如那些不做保存的方法list、input、 delete等),则在struts.xml文件的validation和workflow拦截器的配置处加上
excludeMethods参数列表去忽略这些方法即可!
------------------------无聊的分隔线------------------------
!!!如果在运行时验证框架没有生效,而后台报如下:
"WARN [com.opensymphony.xwork2.validator.validators.VisitorFieldValidator] - The visited object is null, VisitorValidator will not be able to handle validation properly. Please make sure the visited object is not null for VisitorValidator to function properly"
这样的警告信息,请仔细检查代码和配置是否符合以上几点!
来源:oschina
链接:https://my.oschina.net/u/115036/blog/37840