[英]Play framework, Different constraints for different requests
如何针对不同的请求实现不同的约束? 例如,有User
类:
public class User extends Model{
@Required
@Email
@Id
public String email;
@Required
@Column(length = 50)
public String firstname;
@Required
@Column(length = 50)
public String lastname;
@Required
public String password;
}
当我创建一个新用户时,所有约束都是必需的。 但是当我更新用户信息时,我不需要密码约束。
我应该为createUser()
和updateUser()
操作创建单独的类吗? 有什么办法可以只使用一个类吗?
将“后端实体”注释与“前端实体”注释混合在一起是不好的做法。 创建单独的类,用于插入用户并相应地使用 @Required 注释更新用户。 从 User 实体中删除前端注释,只留下 @Id @Column 等 JPA 注释。
由于 Play 的验证框架符合 Java bean 验证规范 (JSR-303),您可以使用作为规范一部分的验证组功能。 这正是您正在寻找的 - 一种为不同操作强制执行不同验证规则的巧妙方法。 您可以在我对类似问题的回答中看到如何在代码中使用它的示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.