我有这些模型:
@Entity
public class User {
//...
@NotBlank private String login;
@NotBlank private String password;
@Valid @OneToOne private Person person;
//...
}
// And
@Entity
public class Person {
//...
@NotBlank private String name;
//...
}
而用户控制器中的这个插入方法:
@RequestMapping(method = POST)
public String insert(@Valid User user, BindingResult result){
}
而这个表格
<p>Login : <input type="text" name="login" /></p>
<p>Pass : <input type="text" name="password" /></p>
<p>Name : <input type="text" name="person.name" /></p>
Person 和 User 之间的关联是可选的。所以不需要填写person.name
输入。
但是当控制器接收到用户的信息时,@Valid
注释正在验证用户和个人对象,即使person.name
是空的。
我意识到 Controller 总是在接收 Person 对象实例。
person.name
当输入未填写时,是否可以在 Person 中接收 null ?
当我person.name
从表单中删除输入时,没关系,我收到 null。但是个人姓名是可选的,我不能从表格中删除。