2013-10-19 162 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;