java - @Valid (javax.validation.Valid) 对于列表类型不是递归的
问题描述
控制器:
@RequestMapping(...)
public void foo(@Valid Parent p){
}
class Parent {
@NotNull // javax.validation.constraints.NotNull
private String name;
List<Child> children;
}
class Child {
@NotNull
private String name;
}
这会触发@NotNull
Parent.name,但不会检查 Child.name。如何让它触发。我也试过List<@Valid Child> children;
用注释来注释子类@Valid
,不起作用。请帮忙。
parent = { "name": null }
失败。名称不能为空。
child = { "name": null }
作品。
解决方案
你有没有这样尝试过:
class Parent {
@NotNull // javax.validation.constraints.NotNull
private String name;
@Valid
List<Child> children;
}