JSR303: Возможно ли иметь разные уровни проверки / обмена сообщениями? - PullRequest
0 голосов
/ 22 ноября 2011

У меня есть требование, что некоторая проверка должна вызывать стандартную ошибку при проверке, но некоторые поля должны быть проверены как «информационные» и возвращать сообщение пользователю. Я пытаюсь выяснить, как это сделать, и кажется, что группы могут быть решением или созданием пользовательских аннотаций ограничения проверки. Кто-нибудь еще сталкивался с этим и / или может предложить звуковой дизайн?

Спасибо!

1 Ответ

1 голос
/ 23 ноября 2011

Такие серьезности ограничений были первоначальной идеей атрибута payload типов аннотаций ограничений.Спецификация BV содержит следующий пример:

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() {...}
}

При выполнении проверки вы можете использовать полезные данные ограничения, чтобы решить, какое действие следует предпринять в случае нарушения ограничения сданная серьезность происходит.

...