提问人:Ognjen Mišić 提问时间:6/18/2018 最后编辑:Branislav LazicOgnjen Mišić 更新时间:6/18/2018 访问量:8089
带继承的 Spring 验证
Spring validation with inheritance
问:
我正在尝试验证一个 DTO(formModel,无论您喜欢什么术语),它有点分层(继承和依赖其他类)。
是否可以使以下模型配置正常工作:
public abstract class A {
@NotNull
private String fieldA1;
@NotNull
@Size(min = 2, max = 30)
private String fieldA2;
// ... and so on
}
public class B extends A {
@NotNull
private String fieldB1;
@NotNull
private Xyz fieldB2;
// and so on
}
public class Xyz {
@NotNull
private String fieldXyz1;
// etc..
}
弹簧架控制器:
@PostMapping(consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity addCustomer(@RequestBody @Valid B customerDto, BindingResult bindingResult) {
// controller logic here
}
问题是:只有看似“有效”的约束注释才是父类 A 上的约束注释。我提交了一个 A 类中有错误字段的请求,返回 true。如果我提交的请求在类 B 或 Xyz 中带有错误字段,则为 false,控制器会继续表现得像请求正常一样。
有什么想法吗?bindingResult.hasErrors()
bindingResult.hasErrors()
答: 暂无答案
评论
@Valid
fieldB1
fieldB1
@NotBlank