我有一個簡單類Foo,說像這樣的:彈簧3,JSR-303(豆驗證)和驗證集合
public class Foo {
@NotNull
private String bar;
public String getBar(){ return bar; }
public void setBar(String _bar){ this.bar = _bar; }
}
現在,我有采取的陣列控制器REST方法(或收集)Foos的地方,我想確保每個Foo都有一個非空的酒吧屬性。 我想到了用@Valid註釋將使伎倆,但現在看來,這是不是:
@Controller
public class MyController {
@RequestMapping(value="/foos", method=RequestMethod.POST)
public @ResponseBody String createFoos(@Valid @RequestBody Foo[] foos){
// blah blah blah
return "yeah";
}
}
注意:它不會用List <富>工作,要麼。但是有了獨特的Foo它就可以工作!
看起來像Spring驗證在我們有「多個」對象(在集合或數組中)時不起作用。
我甚至試圖用自定義註釋實現HandlerMethodArgumentResolver,但我不知道如何在BindingResult中定義「索引屬性名稱」。
如果有人知道這個問題的解決方法,將不勝感激! :)
我這裏的@NotNull註釋不同意。 如果我的foos參數可以爲空可以怎麼辦? 我想確保一旦Foo實例位於我的數組中,就會始終設置bar字段。 – 2012-01-27 17:55:18