我对Spring MVC使用Bean Validation。 Spring将验证失败绑定到定义了失败注释的bean属性,以及bean本身的基于类的约束。
我的问题是我使用了几个类库验证约束,但验证失败不应该分配给类,而应该分配给其中一个属性。
例如:
@ScriptAssert(lang = "javascript", script = "_this.passVerify.equals(_this.pass)")
public class MyBean {
@Size(min=6, max=50)
private String pass;
private String passVerify;
}
(但仅 示例,请不要告诉我如何编写可以放入{{的自定义约束/注释1}}变量)
我可能需要的是这样的事情:
pass
所以我的问题是:
答案 0 :(得分:0)
@ValidationAlias( constraint = @ScriptAssert(lang = "javascript", script = "_this.passVerify.equals(_this.pass)"), field = "pass") public class MyBean {...
与 ConstraintValidator#isValid 的 ConstraintValidatorContext 结合使用似乎是您最好的选择,它允许您自定义错误消息和路径。通过 disableDefaultConstraintViolation ,您可以禁用默认错误消息。