spring MVC Validate

Modelに画面入力値を設定するところまで自動でやってくれる。
型の違いはどうなるのかと思ったら、
propertiesファイルのメッセージが入力エラーとして出力される。


public class Pet extends NamedEntity {

private Date birthDate;


messages.properties
typeMismatch.birthDate=invalid date


public class EditPetForm {
@RequestMapping(method = { RequestMethod.PUT, RequestMethod.POST })
public String processSubmit(@ModelAttribute("pet") Pet pet, BindingResult result, SessionStatus status) {
new PetValidator().validate(pet, result);
if (result.hasErrors()) {
return "pets/form";
}
else {
this.clinic.storePet(pet);
status.setComplete();
return "redirect:/owners/" + pet.getOwner().getId();
}
}