2012-02-28 79 views
5

我有一個外地在我的Spring bean(與JSF託管bean)和我在它的使用JSR303 Bean驗證的@Size註釋長度驗證如下:驗證註釋和屬性文件

@Size(min = 7, max = 15, message = "{password.range}") 
private String newPassword; 

和我想知道如何從屬性文件中讀取最小值和最大值,請告知。

+0

此鏈接可能會幫助 http://stackoverflow.com/questions/6938906/parametrizable-jsr-303-validation-values – 2012-02-28 09:20:47

+0

但我使用JSF bean驗證。 – 2012-02-28 09:23:01

+0

JSR303 bean驗證不是JSF的一部分。 – BalusC 2012-02-28 12:56:27

回答

5

新的答案

這是不可能的,他標準的JSR 303 Validatators。問題是,註釋中的值是編譯時間值,但屬性中的值僅在運行時可用。

當然,您可以編寫自己的JSR-303驗證程序,以便在驗證時讀取屬性文件中的值。

這樣就可以使用這種方式:

@MySize(minKey = 「password.min」,maxKey = 「password.max」,消息= 「{} password.range」)

MySizeValidator使用minKey從屬性文件讀取該值,然後驗證當前值。

+0

我很抱歉,我沒有得到你想說的 – 2012-02-28 11:45:18

+0

我的錯,我錯誤地回答了這個問題。 – Ralph 2012-02-28 12:07:40

+0

我已經用新的替換了我的答案。 – Ralph 2012-02-28 12:13:43