spring validation 异常备忘

   

我在用spring mvc 使用struts 的validation是出现这样的错误:

org.apache.commons.validator.ValidatorException: org.apache.struts.validator.FieldChecks

 

这是因为在spring使用validation的时候是用了spring module,而validator-rules.xml并没有用spring module的东西,而是直接用了struts的版本,就是出现了org.apache.struts.validator.FieldChecks找不到异常或者其他的异常,原因在于classname的不同,如下。通过这个,我发现最好的文档还是各种包里面自带的文档说明了....

 

下面我就简述一下spring 如何使用validation的。

 

首先有两个配置文件,一个是上面提到的validator-rules.xml,对于这个文件的版本很重要,因为不同版本间的实现类是不一样的,具体可以看classname的实现类。在我说的这种情况下就应该用spring module下的自带的。另外一个就是validation.xml,这个是针对不同的form name 进行验证的字段配置。具体可以参看相应的文档。

spring validation针对command对象分为全部字段验证和部分字段验证。

如果是全部字段验证的话contorller类继承SimpleFormController就可以,然后在controller类里面设置属性:

这样就可以了。配置相对简单。

 

如果是部分字段验证controller类继承AbstractWizardFormController,然后在配置文件里做类似如下配置:

 

 

以上两种都需要配置:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章