<分区>
Possible Duplicate:
using Hibernate Validator without calling annotation.
我有这个复合约束注释(仅用于说明):
@Target... @Retention...
@Constraint(validatedBy = {})
@Pattern(regexp = PasswordComplexity.AT_LEAST_TWO_NONE_ALPAH_CHARS)
@Length(min = 6, max = 20)
public @interface PasswordComplexity {
...
}
我在 Spring Controller 和实体类中使用它。
但现在我需要在服务方法中检查单个字符串,我需要在其中对单个字符串应用相同的约束。由于约束相同,我想使用相同的约束定义 (@PasswordComplexity)(单一事实来源)。像这样的东西:
public void createUser(UserDto userDto, String password) {
if(hasViolation(validator.validate(password,PasswordComplexity.class))) {
throw new PasswordComplexityViolationException();
} else {
…
}
}
但我不知道如何为未注释的简单对象(字符串)运行 JSR 303 validator 。至少有可能吗?如何实现?
(我使用 Hibernate Validator 作为 JSR 303 提供程序)