我试图用基于 Spring MVC 的 Javax 来创建简单的验证。 我启用了批注驱动程序 。 我想在表格中显示错误, 但有500页错误 :
< 加强> 500 错误页面 加强 >
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 2 errors
Field error in object profile on field email : rejected value [xx@ss]; codes [Pattern.profile.email,Pattern.email,Pattern.java.lang.String,Pattern]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [profile.email,email]; arguments []; default message [email],[Ljavax.validation.constraints.Pattern$Flag;@718df055,^[_A-Za-z0-9-]+(.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(.[A-Za-z0-9]+)*(.[A-Za-z]{2,})$]; default message [Nieprawidłowy e-mail]
Field error in object profile on field login : rejected value [xx]; codes [Size.profile.login,Size.login,Size.java.lang.String,Size]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [profile.login,login]; arguments []; default message [login],20,4]; default message [Login musi min. długość 4 znaków, max. 20 znaków]
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
<强 > 主计长 强 >
@RequestMapping(value="/register", method=RequestMethod.POST)
public String register(
@Valid Profile profile,
@RequestParam("recaptcha_challenge_field") String challenge,
@RequestParam("recaptcha_response_field") String response,
BindingResult result, Model model, HttpServletRequest request) {
ReCaptchaResponse cResponse = captcha.checkAnswer(request.getRemoteAddr(), challenge, response);
if(result.hasErrors() || !cResponse.isValid()) {
String message = cResponse.getErrorMessage();
String html = captcha.createRecaptchaHtml(message, null);
model.addAttribute("profile", profile);
model.addAttribute(CAPTCHA_HTML, html);
return "login/register";
}
return "ok";
}
<强 > 模型的一部分(只有此字段被验证) 强>
@NotBlank
@Size(min=4, max=20)
@Pattern(regexp="^([\w]+)$")
private String login;
@NotBlank
@Pattern(regexp=("^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$"))
private String email;
如何解决这个问题?