从未调用java Spring验证程序
我试图验证一些信息,因此我添加了一个验证器,并在post方法的参数中使用@Valid:
@Controller
@RequestMapping("/user.htm")
public class UserController {
@Autowired
private IUserService userService;
@RequestMapping(method = RequestMethod.GET)
public String userInfo(Model model) {
....
return "user";
}
@RequestMapping(method = RequestMethod.POST)
public String userInfoResult(@Valid @ModelAttribute UserForm userForm, BindingResult result, Model model ) {
UserInfo stat = userService.getStatitisque(userForm.getSearchCritera());
userForm.setListeExpediteur(listeExpediteur);
userForm.setUserInfo(stat);
model.addAttribute("userForm", userForm);
}
}
public class UserFormValidator implements Validator {
@Override
public boolean supports(Class<?> type) {
return UserForm.class.equals(type);
}
@Override
public void validate(Object o, Errors errors) {
UserForm userForm = (User) o;
...
}
}
调试时,我从不使用UserFormValidator类
我需要在这些文件中添加一些内容吗
web.xml
applicationContext.xml
dispatcher-servlet.xml
# 1 楼答案
您需要在@InitBinder方法中添加验证器
# 2 楼答案
# 3 楼答案
您需要在
@InitBinder
方法中添加验证器:或通过XML进行全局访问:
参考资料:
# 4 楼答案
5.7.4.3配置JSR-303验证器供Spring MVC使用