play2 framework @Required field issue

时间:2015-05-28 18:47:49

标签: playframework

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

2 个答案:

答案 0 :(得分:0)

正如您所提到的,一种方法是删除电子邮件字段的@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);
}

答案 1 :(得分:0)

Anton - 手动指向一个解决方案,用aaab:101 acbc:92 add:109 获取字段。

其次是创建像DynamicForm这样的其他类,它只包含logn进程所需的字段和注释,然后使用LoginForm代替Form<LoginForm> ...

第三个选项是创建自定义Form<User> ...注释,它是上下文相关的,无论如何,大多数probbaly上一个(第二个)解决方案将更容易实现。