私はSpringMVC3でフォーム検証をできるだけ簡単で邪魔にならないようにする方法を探していました。@Validをモデル(バリデーターアノテーションで注釈が付けられている)に渡し、 result.hasErrors()メソッド。
私は次のようにコントローラーアクションを設定しています:
@RequestMapping(value = "/domainofexpertise", method = RequestMethod.PUT)
public String addDomainOfExpertise(@ModelAttribute("domainOfExpertise")
@Valid DomainOfExpertise domainOfExpertise, final BindingResult result) {
if (result.hasErrors()) {
return "/domainofexpertise/add";
} else {
domainOfExpertiseService.save(domainOfExpertise);
return "redirect:/admin/domainofexpertise/list";
}
}
これは魅力のように機能します。データベースの例外(フィールドに一意の制約があるものを保存しようとするなど)は引き続き発生します。舞台裏で行われている検証プロセスにこれらの例外のキャッチを組み込む方法はありますか?この検証方法は非常に簡潔なので、コントローラーで手動でキャッチする必要はありません。
これに関する情報はありますか?