2012-02-28 80 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