【问题标题】:play2 framework @Required field issueplay2 框架@必填字段问题
【发布时间】:2015-05-28 18:47:48
【问题描述】:

我有两种方法:登录和注册,它们都使用包含用户名、电子邮件和密码的“用户”类。我将所有三个字段都设置为@Required。它适用于注册,因为所有三个字段都是必需的。这是一个问题:我只想使用用户名和密码登录,但是调用 bindFromRequest() 方法时会出错。除了删除电子邮件字段的@Required 注释或为登录和注册创建两个单独的“用户”类之外,还有其他方法吗?

【问题讨论】:

    标签: playframework


    【解决方案1】:

    正如您所提到的,一种方法是删除电子邮件字段的 @Required 注释。 第二种方法是为这两个操作创建一个单独的 User 类。 第三种方法是使用动态表单,如下所示:

    public Result hello() {
        DynamicForm requestData = Form.form().bindFromRequest();
        String username = requestData.get("username");
        String password = requestData.get("password");
        // now do something with the data we got...
        return ok("Hello " + username);
    }
    

    【讨论】:

      【解决方案2】:

      Anton 指出了一个解决方案 - 手动 使用 DynamicForm 获取字段。

      其次是创建像LoginForm这样的附加类,它只包含登录过程所需的字段和注释,然后像Form<LoginForm> ...那样使用它而不是Form<User> ...

      第三个选项是创建自定义 Required 注释,它是上下文相关的,无论如何,最可能以前的(第二个)解决方案将更容易实现。

      【讨论】:

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