menu
書いてる野郎
orebike@gmail.com
所謂 バリデータ(Validator) とかいう処理。
まずこのようなコントローラがあったとする。
@Controller @RequestMapping("/hoge") public class HogeController { @RequestMapping("/piyo/{id}") public String piyo(@ModelAttribute PiyoForm f, Model m) { m.addAttribute("v1", f.getId()); return "hoge/piyo"; } }
Form はこんな感じ
public class PiyoForm{ private String hoge; public void setId(String v){ this.hoge = v; } public void getId(){ return this.hoge; } }
ではこのパラメータを必須にしてみる Form の受けたメンバにアノテーション指定する
public class PiyoForm{ @NotNull private String hoge; public void setId(String v){ this.hoge = v; } public void getId(){ return this.hoge; } }
コントローラー側でエラーの発生を捕捉する
@Controller @RequestMapping("/hoge") public class HogeController { @RequestMapping("/piyo/{id}") public String piyo(@Validated @ModelAttribute PiyoForm f, Model m, BindingResult br) { if(br.hasErrors()){ return "hoge/piyoerror": } m.addAttribute("v1", f.getId()); return "hoge/piyo"; } }