validate メソッドに渡す、検証するグループを指定するための interface に Bean Validation が指定されてたら、groups 指定してなくても検証するみたい。
package sample; import javax.validation.Validation; import javax.validation.Validator; import javax.validation.constraints.NotNull; public class BeanTest { public static void main(String... args) { Validator v = Validation.buildDefaultValidatorFactory() .getValidator(); System.out.println( v.validate(new TestBean()).size()); // 1 System.out.println( v.validate(new TestBean(), Test.class).size()); // 1 } } interface Test { @NotNull String getValue(); } class TestBean implements Test { @Override public String getValue() { return null; } }
これが
interface Test { String getValue(); } class TestBean implements Test { @Override @NotNull public String getValue() { return null; } }
こうだと、v.validate(new TestBean(), Test.class).size は 0 になりました。