我使用的是spring mvc和thymeleaf,我读过以下内容:https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvchttpshttp://spring.io/guides/gs/validating-form-input/
1--我仍然不知道如何在没有 @Valid
注解,比如在这种情况下如何进行验证(没有表单匹配bean)
@RequestMapping(value = "/signup", method = RequestMethod.POST)
public String registrationSubmit(@RequestParam(required = false) String phone,
@RequestParam(required = false) String passwd,
@RequestParam(required = false) String passwdRepeat,
@RequestParam(required = false) String smsCode, BindingResult bindingResult) {
//validation
if (phone.isEmpty()) {
FieldError fieldError = new FieldError("phone","phone","phone error");
bindingResult.addError(fieldError);
bindingResult.rejectValue("phone", "error.user", "phone error");
return "register_form";
}
return "";
}
2——以及如何处理异常,如 UserNotFoundException
并以表单形式通知用户,而不是以新视图进行响应。
3条答案
按热度按时间ugmeyewa1#
如果有错误,抛出异常,然后使用@exceptionhandler注解另一个方法,该方法将处理异常并呈现适当的响应。
ubof19bj2#
试试这个。。。我正在研究更好的解决方案
vltsax253#
1) 您需要为数据创建一个窗体类
2) 您的控制器方法:
您的html代码:
注:
表单验证失败时在头中追加公共消息
根据窗体类中设置的消息追加窗体字段错误消息