Forms 播放时validate()方法的特定行为!框架
我希望在我的validate()方法上有特定的行为(就像我可以在groups注释中使用的那样),如果它被调用的话Forms 播放时validate()方法的特定行为!框架,forms,playframework-2.0,validationerror,Forms,Playframework 2.0,Validationerror,我希望在我的validate()方法上有特定的行为(就像我可以在groups注释中使用的那样),如果它被调用的话 Form<User> loginForm = form(User.class, User.Login.class).bindFromRequest();` Form loginForm=Form(User.class,User.Login.class).bindFromRequest();` 或者 formregisterform=Form(User.class,U
Form<User> loginForm = form(User.class, User.Login.class).bindFromRequest();`
Form loginForm=Form(User.class,User.Login.class).bindFromRequest();`
或者
formregisterform=Form(User.class,User.Register.class).bindFromRequest();
用户模型:
@Entity
public class User extends Model {
public interface Register {}
public interface Login{}
@Required(groups = {Register.class, Login.class})
public String username;
@Required(groups = {Register.class, Login.class})
public String password;
public List<ValidationError> validate() {
... // Here I would like to distinguish User.Login.class from User.Register.class
}
}
@实体
公共类用户扩展模型{
公共接口寄存器{}
公共接口登录{}
@必需(组={Register.class,Login.class})
公共字符串用户名;
@必需(组={Register.class,Login.class})
公共字符串密码;
公共列表验证(){
…//这里我想区分User.Login.class和User.Register.class
}
}
应用程序控制器
public static Result loginSubmit(){
Form<User> loginForm = form(User.class, User.Login.class).bindFromRequest();
}
public static Result registerSubmit(){
Form<User> registerForm = form(User.class, User.Register.class).bindFromRequest();
}
public静态结果登录提交(){
Form loginForm=Form(User.class,User.Login.class).bindFromRequest();
}
公共静态结果寄存器submit(){
Form registerForm=Form(User.class,User.Register.class).bindFromRequest();
}
组参数没有传递给validate()
方法,因此我认为这是不可能的。这并不方便,但您可以自己调用验证(或其他验证方法)
用户模型:
public class User extends Model
{
public List<ValidationError> validate(Class group) {
if (group == Login.class) {
...
} else if (group == Register.class) {
...
}
}
}
公共类用户扩展模型
{
公共列表验证(类组){
if(group==Login.class){
...
}else if(组==寄存器.class){
...
}
}
}
控制器:
public static Result loginSubmit(){
Form<User> loginForm = form(User.class, User.Login.class).bindFromRequest();
if (!loginForm.hasErrors()) {
User user = loginForm.get();
List<ValidationError> errors = user.validate(User.Login.class);
...
}
}
public静态结果登录提交(){
Form loginForm=Form(User.class,User.Login.class).bindFromRequest();
如果(!loginForm.hasErrors()){
User=loginForm.get();
列表错误=user.validate(user.Login.class);
...
}
}
public static Result loginSubmit(){
Form<User> loginForm = form(User.class, User.Login.class).bindFromRequest();
if (!loginForm.hasErrors()) {
User user = loginForm.get();
List<ValidationError> errors = user.validate(User.Login.class);
...
}
}