次のネストされたオブジェクトがあります。コントローラでの検証に@Validを使用しています。ここで、BindingResultオブジェクトはChildオブジェクトのnameフィールドを検証していません。私は何かが足りないのですか?
class Parent{
@Valid
private Child child;
//getter and setter for child object
}
class Child{
@NotNull(messag="Name cannot be null")
private String name;
//getter and setter for name
}
My controller validate method
@RequestMapping(value = "/validate", method = RequestMethod.POST)
public @ResponseBody String validate(@Valid @ModelAttribute("parent") Parent parent, BindingResult bindingResult) {
//Here I can see child name value if I say parent.getChild().getName()
// But if parent.getChild().getName() is null, bindingResult.hasErrors() is returning false
}