我有以下模特类
public class User {
private String name;
private String age;
private Address address;
private Contact contact;
// getters and setters
}
class Address {
private String address1;
private String address2;
private String state;
private String city;
// getters and setters
}
class Contact {
private String phone;
private String fax;
// getters and setters
}
我将此User用作不同类型用户的多个表单的模型对象。
我的想法是让一个控制器为多种用户类型处理此表单/页面。
答案 0 :(得分:1)
您可以根据需要使用一个表单。
可以直接在字段上添加一些注释,例如@NotNull
表示地址1,如果它对所有用户类型都是强制性的。
您的使用类应具有标记注释@Valid以验证地址和联系人
public class User {
...
@Valid
private Address address;
@Valid
private Contact contact;
...
}
您可以定义类级约束注释和/或交叉参数约束。 (见the example)。
因此,您的User类应使用自定义约束进行注释,您可以在其中检查用户类型,并检查每种类型是否提供必要的字段并正确填充。