Spring 3にバリデーターがあります
Class X implements Validator{
public void validate(Object object, Errors errors) {
//Implementation 1
}
}
Class Y implements Validator{
public void validate(Object object, Errors errors) {
//Implementation 2
}
}
ここで、実装 1 を使用していくつかの状況 (リクエスト マッピング 1 の可能性があります) に基づいてモデルを検証し、他のケース (リクエスト マッピング 2) で実装 2 を使用したいと考えています。
Spring 3でこれを達成するにはどうすればよいですか
これはバインダー
@InitBinder
protected void initBinder(WebDataBinder binder) {
if (binder.getTarget() instanceof X) {
binder.setValidator(new X());
}
}
@RequestMapping("/Implementation1.html)
public String one(@Valid X x){
return "pg1";//I want 1st implementation of validator
}
@RequestMapping("/Implementation2.html)
public String one(@Valid X x){
return "pg2"; //I want 2nd implementation of validator
}