微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

休眠验证器-动态验证消息

如何解决休眠验证器-动态验证消息

我有一个X,该类具有三个字段:stateAB的枚举),a和{{1 }}。 当bstate时,A不得为a,当nullstate时,B不得为{{ 1}}。

b

使用hibernate-validator,我构建了以下验证器:

null

因此,每当验证失败时,我都会收到消息@ValidateCondition(message = "Validation Failed") public class X { private State state; private String a; private String b; } ,但是我想要的只是一条消息,告诉我为什么失败,例如@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Constraint(validatedBy = MyValidator.class) @Documented public @interface ValidateCondition { String message() default "ValidateCondition Failed"; Class<?>[] groups() default {}; Class<? extends Payload>[] payload() default {}; } public class MyValidator implements ConstraintValidator<ValidateCondition,X> { @Override public boolean isValid(X x,ConstraintValidatorContext context) { if(x.getState()==State.A){ return x.getA() != null; } if(x.getState()==State.B){ return x.getB() != null; } } }

我假设我可以以某种方式使用Validation Failed,但我不知道是否或如何。

解决方法

这很简单: 只需在isValid区域内调用上下文:

import '@aws-amplify/ui/dist/style.css';

享受!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。