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