JSR303:是否可以使用不同的验证/消息传递级别?

时间:2011-11-22 19:45:32

标签: java validation bean-validation

我要求某些验证应该在验证时抛出标准错误,但是某些字段应该被验证为“informational”并向用户返回一条消息。我正在试图弄清楚如何做到这一点,似乎组可能是一个解决方案或创建自定义验证约束注释。有没有其他人遇到这个和/或能够建议一个合理的设计?

谢谢!

1 个答案:

答案 0 :(得分:1)

这种约束严重性是约束注释类型的payload属性背后的原始思想。 BV specification包含以下示例:

public class Severity {
    public static class Info implements Payload {};
    public static class Error implements Payload {};
}

public class Address {
    @NotNull(message="would be nice if we had one", payload=Severity.Info.class)
    public String getZipCode() {...}

    @NotNull(message="the city is mandatory", payload=Severity.Error.class) 
    String getCity() {...}
}

当您执行验证时,您可以使用约束有效负载来决定在出现具有给定严重性的约束违规时应采取的操作。