Я не могу понять, в каком случае может быть полезно привязать ограничение к определенной группе.
Группа используется для частичной проверки (и проверки последовательности). Если у вас есть 10 полей в классе, вы можете отметить 8 из них знаком A и 2 знаком B. Затем вы можете проверить только поля в группе A или в группе B. И наоборот, вы хотите, чтобы @MyConstraint
принадлежал к определенной группе с именем C. Это не имеет никакого смысла. Группа — это более или менее имя, используемое для отличия одних полей от других в том же классе. Это не имеет абсолютного значения. Группы полезны при проверке, а не при определении ограничений, они связаны с полями, а не с ограничениями.
Кроме того, если вы скроете имя группы в определении ограничения, вы можете столкнуться с ошибками, потому что вы можете подумать, что поля проверены все вместе.
@Email
private String mail;
@Password
private String pass;
@VAT
private String vatCode;
Вы можете увидеть, есть ли частичная проверка?
ИЗМЕНИТЬ
Что касается второго комментария: предположим, у вас есть класс с 5 полями без каких-либо ограничений. Три из них целые. Если вы хотите проверить сумму этих трех полей, вы должны создать ограничение на уровне класса, как вы предлагаете. Таким образом, ваша пользовательская аннотация применяется к классу, а не к полям, поэтому как вы можете определить группы в полях?
Вместо этого вы можете использовать что-то вроде этого:
@Sum(min = 250, fields = {"length", "width", "height"})
public class MyClass {
private String type;
private String code;
private int length;
private int width;
private int height;
...
}
person
Alf
schedule
02.08.2012