Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation 验证注释和属性文件_Validation_Bean Validation - Fatal编程技术网

Validation 验证注释和属性文件

Validation 验证注释和属性文件,validation,bean-validation,Validation,Bean Validation,我的Springbean(使用jsf的托管bean)中有一个字段,我使用JSR303 bean验证@Size注释验证它的长度,如下所示: @Size(min = 7, max = 15, message = "{password.range}") private String newPassword; 我想知道如何从属性文件中读取最小值和最大值,请告知。新答案 使用标准JSR303验证程序是不可能的。问题是,注释中的值是编译时的值,而属性中的值仅在运行时可用 当然,您可以编写自己的JSR-30

我的Springbean(使用jsf的托管bean)中有一个字段,我使用JSR303 bean验证@Size注释验证它的长度,如下所示:

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

我想知道如何从属性文件中读取最小值和最大值,请告知。

新答案

使用标准JSR303验证程序是不可能的。问题是,注释中的值是编译时的值,而属性中的值仅在运行时可用

当然,您可以编写自己的JSR-303验证器,在验证时从属性文件中读取值

因此,您可以这样使用它:

@MySize(minKey=“password.min”,maxKey=“password.max”,message=“{password.range}”)


MySizeValidator
使用
minKey
从属性文件中读取该值,然后验证当前值。

此链接可能会有所帮助,但我使用的是JSF bean验证。JSR303 bean验证不是JSF的一部分。很抱歉,我不明白你想说的内容。我已经用一个新的答案替换了我的答案。请提供此类自定义验证程序的任何参考资料?谷歌上的第一个git:“jsr 303自定义验证程序”是的。我明白这一点。然而,通过这种方式,我必须定义自定义标记的行为,如果我想使用origina标记的行为,它将不起作用。