mem*_*und 19 java bean-validation
如何设置一个bean验证约束,它List应该至少包含1并且最多包含10个元素?
以下都不起作用:
@Min(1)
@Max(10)
@Size(min=1, max=10)
private List<String> list;
Run Code Online (Sandbox Code Playgroud)
Bye*_*Bye 19
我创建了简单的类:
public class Mock {
@Size(min=1, max=3)
private List<String> strings;
public List<String> getStrings() {
return strings;
}
public void set(List<String> strings) {
this.strings = strings;
}
}
Run Code Online (Sandbox Code Playgroud)
并测试:
Mock mock = new Mock();
mock.setStrings(Collections.emptyList());
final Set<ConstraintViolation<Mock>> violations1 = Validation.buildDefaultValidatorFactory().getValidator().validate(mock);
assertFalse(violations1.isEmpty());
mock.setStrings(Arrays.asList("A", "B", "C", "D"));
final Set<ConstraintViolation<Mock>> violations2 = Validation.buildDefaultValidatorFactory().getValidator().validate(mock);
assertFalse(violations2.isEmpty());
Run Code Online (Sandbox Code Playgroud)
似乎@Size注释运作良好.它来自javax.validation.constraints.Size
小智 7
您可以使用 @NotEmpty 检查空列表。这确保列表中至少有一项。
| 归档时间: |
|
| 查看次数: |
19036 次 |
| 最近记录: |