red*_*x26 2 java validation spring spring-mvc
我试图验证一些信息,所以我添加了一个验证器并在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;
...
}
}
Run Code Online (Sandbox Code Playgroud)
当我调试时,我从未进入UserFormValidator类.
我需要在这些文件中添加内容吗?
web.xml
applicationContext.xml
dispatcher-servlet.xml
您需要在@InitBinder
方法中添加验证器:
@InitBinder(value="YourFormObjectName")
protected void initBinder(WebDataBinder binder) {
binder.setValidator(new FooValidator());
}
Run Code Online (Sandbox Code Playgroud)
或通过XML全局:
<mvc:annotation-driven validator="globalValidator"/>
Run Code Online (Sandbox Code Playgroud)
参考:
归档时间: |
|
查看次数: |
5491 次 |
最近记录: |