0
我們在我們的web應用程序中使用Spring MVC 3.0。我們也在使用Spring MVC的驗證框架。在Spring MVC中驗證
在進行驗證時,我們需要爲我們需要驗證的每個實體創建驗證器。例如,如果我有一個Person實體,我將使用下面的PersonValidator來驗證它。
public class PersonValidator implements Validator {
/**
* This Validator validates just Person instances
*/
public boolean supports(Class clazz) {
return Person.class.equals(clazz);
}
public void validate(Object obj, Errors e) {
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "firstName", "field.required");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "surname", "field.required");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "age", "field.required");
}
}
我的問題是,是否有可能對不同方法的相同實體有不同的驗證。
@RequestMapping(method = RequestMethod.POST)
public String add(@Valid Person person, BindingResult result) {
if (result.hasErrors()) {
return "person/new";
}
personService.addPerson(person);
return "redirect:/persons";
}
@RequestMapping(method = RequestMethod.POST)
public String update(@Valid Person person, BindingResult result) {
if (result.hasErrors()) {
return "person/edit";
}
personService.updatePerson(person);
return "redirect:/persons";
}
我想驗證名字,姓氏和年齡,同時添加一個新的人,但在更新時我不希望年齡是強制性的。
這只是一個隨機的情況,它可以是任何實體和任何屬性。
我們該如何處理這種情況?
謝謝。
以前沒有人做過這個嗎?有任何想法嗎 ? – ashishjmeshram 2011-04-29 13:56:37