2013-10-19 131 views
-1

我试图禁用一个类的方法的验证。Struts2禁用验证

我已经看过注释@SkipValidation,但它不起作用。我试图把下面的interceptor-ref放到我的动作中,但它也不起作用。

<interceptor-ref name="validation"> 
    <param name="excludeMethods">ricerca,execute</param> 
</interceptor-ref> 

我需要删除此类的Date字段的验证。

+0

定义“不起作用”。另外,如果您在操作配置中指定了拦截器配置,则必须指定* all *拦截器。你可以参考你使用的任何堆栈,并且参数名称也使用'validation.excludeMethods',IIRC。 –

+0

与不工作我的意思是它不表现我想要的。为什么不用我用'@ SkipValidation'注释的方法跳过验证? – Emaborsa

+0

它应该通过以下拦截器http://struts.apache.org/release/2.3.x/struts2-core/apidocs/org/apache/struts2/interceptor/validation/AnnotationValidationInterceptor.html。 –

回答

0

@MohanaRaoSV说的是大概的解决方案:

  1. AnnotationValidationInterceptor是读取@SkipValidation注释的拦截器。

  2. 它不是DefaultStack的一部分,所以你必须手动包含它;

  3. 从你的代码,看来你与ValidationInterceptor,是一无所知的这些注释工作。

一定要将它包含在您的堆栈中。


编辑:展望struts-default.xml Struts2的核心 - 2.3.15.x.jar内, “validation” 现在映射到AnnotationValidationInterceptor,而不是旧ValidationInterceptor;检查你的struts-default.xml,如果你正在运行一个老版本的Struts2;