我有一些問題,找出如何在春天驗證3. 我有什麼到目前爲止,這是Java Bean的....彈簧3驗證方法不驗證
public class User {
@NotEmpty
@Size(min=2, max=40)
private String name="";
@Email
private String email="";
public String getName(){
return name;
}
public String getEmail(){
return email;
}
public void setName(String name){
this.name=name;
}
public void setEmail(String email){
this.email=email;
}
}
這是鏈接到包含窗體頁面的方法:
@RequestMapping(value="/form", method=RequestMethod.GET)
public String form(Model model){
model.addAttribute("user",new User());
return "form";
}
而且這是在我的控制器,該方法,「應該」驗證
@RequestMapping(value="/displayUser",method=RequestMethod.POST)
public String displayUser(Model model,@Valid User user,BindingResult result){
if(result.hasErrors()){
return "form";
}
userList.add(user);
model.addAttribute("user",user);
return "displayUser";
}
@Validate註解應該進行驗證,但在我的情況下它不。
你在我的代碼中看到錯誤嗎?
通過這種方式的形式,我有「一切非常簡單,這只是用於測試目的
<f:form method="post" action="displayUser" commandName="user">
<table align="center" border="1">
<tr>
<td>Your details</td>
</tr>
<tr>
<td><f:label path="name">Name:</f:label></td><td><f:input path="name" /></td><f:errors path="name"></f:errors>
</tr>
<tr>
<td><f:label path="email">Email:</f:label></td><td><f:input path="email" /></td><f:errors path="name"></f:errors>
</tr>
<tr>
<td><input type="submit" value="register" /></td>
</tr>
</table>
</f:form>
任何建議?(我使用Java 5,那邊javax.validation.Validator ISN」牛逼可用)
提示:這是不相關的驗證,但不是手動放置用戶的型號,您可以將@ModelAttribute註解的用戶參數,它會自動顯示在模型。 –
嗨威利,問題是我不能使用@ModelAttribute(「用戶」)用戶用戶和@Valid用戶用戶,在方法簽名相同的參數列表中,ofyourse一個用戶變量允許它 – JBoy