[英]Create a general (not field specific) error message for the form in Play (Scala) framework
[英]Specific behaviour on validate() method on Play! Framework
我正在尋找對我的validate()方法有特定的行為(就像我可以在groups批注中使用的方法一樣),無論該方法是否被調用
Form<User> loginForm = form(User.class, User.Login.class).bindFromRequest();`
或上
Form<User> registerForm = 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
}
}
應用控制器
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();
}
group參數沒有傳遞給validate()
方法,因此我認為這是不可能的。 它不那么方便,但是您可以自己調用validate
(或其他驗證方法)。
用戶模型:
public class User extends Model
{
public List<ValidationError> validate(Class group) {
if (group == Login.class) {
...
} else if (group == Register.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);
...
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.