我无法找到如何为我的表单实现单选按钮。我需要在该组中有 5 个单选按钮,代表从 1 到 5 的等级。
形式:
public static class MobileWriteReview {
@Constraints.MinLength(1)
@Constraints.MaxLength(32)
@Constraints.Required
public String firstName;
@Constraints.MinLength(1)
@Constraints.MaxLength(32)
@Constraints.Required
public String lastName;
@Constraints.MinLength(5)
@Constraints.Required
public String password;
@Constraints.MinLength(5)
@Constraints.Required
public String repeatPassword;
@Constraints.Required
public int grade;
@Constraints.MinLength(30)
@Constraints.Required
public String text;
/**
* Required by play.
*/
public MobileWriteReview() {
}
public MobileWriteReview(int grade) {
this.grade = grade;
}
}
控制器方法:
private static final Form<MobileWriteReview> MOBILE_WRITE_REVIEW_FORM = form(MobileWriteReview.class);
public static Result review(){
MobileWriteReview mobileWriteReview = new MobileWriteReview(3);
MOBILE_WRITE_REVIEW_FORM.fill(mobileWriteReview);
return ok(mobileInviteToReview.render(MOBILE_WRITE_REVIEW_FORM));
}
public static Result doReview(){
final Form<MobileWriteReview> filledForm = MOBILE_WRITE_REVIEW_FORM.bindFromRequest();
if (filledForm.hasErrors()) {
// User did not fill everything properly
return badRequest(mobileInviteToReview.render(filledForm));
} else {
// Everything was filled
return ok();
}
}
view.scala.html
@(inviteForm: Form[_])
@styles = {
}
@scripts = {
}
@import helper._
@helper.form(routes.MobileInviteToReview.doReview) {
@if(inviteForm.hasGlobalErrors) {
<p class="error">
<span class="label label-important">@inviteForm.globalError.message</span>
</p>
}
@inputRadioGroup(
// appropriate code here
)
}
所以我的问题是如何在我的控制器中设置表单然后在视图中使用它?