【发布时间】:2017-09-25 14:18:43
【问题描述】:
我有一个 java 项目并在其中使用自定义休眠验证器。根据Hibernate Docs ,自定义错误消息应定义为 ValidateMessages.properties 中的键值,并且该文件必须在“类路径”目录中创建。 我的问题是类路径位于“目标”目录下,并且在清理构建项目后将被删除,因此创建的 .properties 文件将消失。怎么解决?
`@Target({FIELD, METHOD, PARAMETER, ANNOTATION_TYPE})
@Retention(RUNTIME)
@Constraint(validatedBy = NCValidator.class)
@Documented
public @interface NC {
String message() default "{msg}";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};}
/////////////////////////////
` public class NCValidator implements
ConstraintValidator<NC, String> {
@Override
public void initialize(NC constraintAnnotation) {
ConstraintValidator.super.initialize(constraintAnnotation);
}
@Override
public boolean isValid(String string, ConstraintValidatorContext
context) {
...
...
}
}`
并在这样的类中使用此自定义验证器:
`@ValidateNC
default public String getNC() {
return (String) get("nC");
}
`
【问题讨论】:
-
放入
src/main/resources -
我把它放在资源下,但它不起作用。我应该如何指向这个目录? @Ramanlfc
标签: java hibernate validation customvalidator validationmessage