如何在Spring上提交包含2个模型数据的表单并让它验证?

时间:2015-07-23 12:24:40

标签: spring spring-boot

假设我有2个表:用户和首选项。

users表包含用户名,密码和电子邮件列。

首选项表包含列contact_me_by_email,contact_me_by_phone_call,contact_me_by_sms。

每张桌子都有自己的模型(用户和偏好)。

我想为用户提供一个页面,这样当他们填写表格中的数据时,数据将被验证并填充两个表格。

我能够通过访问Request对象并手动执行所有验证来获取一个表单中的所有参数,并根据我得到的结果继续。

此外,当我为用户提供2个页面时,我可以成功使用@Validate注释验证模型(每个页面只有一个模型 - 第一个页面仅包含用户模型的数据,第二个页面仅包含首选项的数据)。 / p>

我正在努力寻找一种方法,只显示一个页面,其中包含上述两个模型中的所有字段,可以通过Spring使用@Validate注释进行验证。

这可能吗?是否还有其他注释我不知道可以做到吗?

非常感谢任何帮助。

问候。

1 个答案:

答案 0 :(得分:1)

所以,这是你的用户模式类:

@Entity
@Table(name = "user")
public class User(){

// Fields of your user annotated with @Column

and fields of your preferences annotated @Transient as below :

@Transient
private String favoriteTvShow;
//getters and setters for both
}

这样您只需提交一份表格。请享用。