0
양식을 제출하면 playframework가 유효성 검사를 실행하지만 pojo 클래스에서 유효성 검사를 위해 Annotations
을 정의하지 않았습니다. 유효성 검사는 두 필드에서만 실행됩니다. 아래 내 코드 :Playframework 2.2 : 유효성 검사가 추가되었습니다. 유효성 검사가 추가되지 않습니다.
POJO 클래스 :
public class User {
public int id;
public String name;
public int age;
public User() {}
public User(int id, String name, int age){
this.id = id;
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
}
}
내 컨트롤러 방법 :
public Result saveUser() {
Form<User> userData = userForm.bindFromRequest();
if(userData.hasErrors()){
flash("error", "Please enter valid values");
return badRequest(add_user.render(userData));
}
User user = userData.get();
boolean result = userService.addNewUser(user);
if(result){
flash("success", String.format("Add user success %s", user));
}else{
flash("error", String.format("Fail to save user, Please contact admin %s", user));
}
return redirect(routes.UserController.newUsers());
}
HTML 양식 : 내가 양식을 제출하면
@(userForm: Form[com.harmeetsingh13.entities.User])
@import helper._
@import helper.twitterBootstrap._
@main("New User"){
<h1 style="margin-left: 20px;">User Form</h1>
@helper.form(action = com.harmeetsingh13.controllers.routes.UserController.saveUser(),
'id -> "userForm", 'style -> "margin-left: 20px;"){
<fieldset>
<legend>User (@userForm("name").valueOr("New"))</legend>
@helper.inputText(userForm("id"), '_label -> "ID")
@helper.inputText(userForm("name"), '_label -> "Name")
@helper.inputText(userForm("age"), '_label -> "Age")
</fieldset>
<input type="submit" class="btn btn-primary" value="Save" />
}
}
, 내가 얻을 오류 다음 :