【问题标题】:hasErrors(): how to ignoring validation of specific inputhasErrors():如何忽略特定输入的验证
【发布时间】:2013-11-19 14:01:36
【问题描述】:

我有一个包含许多变量(姓名、电子邮件、密码等)的用户类,有时我只需要更新其中的一个或两个(使用表单)。我从表单中获取数据并使用 json 对象的绑定:

Form<User> userForm = User.form.bind(json);

if(userForm.hasErrors()) {
    return badRequest("error");
}

hasError() 检索错误,因为它没有收到一些数据。我如何告诉hasError() 它不必验证某些特定字段?

【问题讨论】:

    标签: java forms validation playframework playframework-2.2


    【解决方案1】:

    查看 GitHub 上的“表单”示例应用。它展示了如何为您的约束分配一个“组”,以便您可以根据情况强制执行一组不同的约束。我从事的项目仍在 Play 2.0.x 上,但我相信它在 Play 2.1 和/或 2.2 中。

    https://github.com/playframework/playframework/tree/master/samples/java/forms

    您要查看的文件是User 模型和Wizard 控制器。

    app/models/User.java
    在您的模型中,您将约束分配给特定组。这些组似乎只是模型类中定义的接口。

      @Required(groups = {All.class, Step1.class})
      @MinLength(value = 4, groups = {All.class, Step1.class})
      public String username;
    

    app/controllers/Wizard.java
    现在,当您进行表单绑定时,您会传入要验证的组/接口类。

      Form<User> filledForm = form(User.class, User.Step1.class).bindFromRequest();
    

    【讨论】:

      猜你喜欢
      • 2021-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多