繁体   English   中英

Play 框架,不同请求的不同约束

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM