Hallo,
habe eine view index.jsp und in diese view importiere ich eine andere, eingabe.jsp. die importierte eingabe.jsp hat ein paar eingabefelder. die index.jsp hat einen controller und die eingabe.jsp hat einen controller.
die eingabe.jsp sieht ungefähr so aus:
nun ruft der controller für die eingabe.jsp die serviceklasse EingabeValidator auf:
in dem eingabecontroller sage ich dann, sollte die eingabe falsch sein, also:
nun ist es aber so, sollten die eingabedaten fehlerhaft sein, werden mir die fehlermeldungen nicht mehr angezeigt. kann mir jemand sagen was ich falsch mache?
habe eine view index.jsp und in diese view importiere ich eine andere, eingabe.jsp. die importierte eingabe.jsp hat ein paar eingabefelder. die index.jsp hat einen controller und die eingabe.jsp hat einen controller.
die eingabe.jsp sieht ungefähr so aus:
Java:
<form:form method="POST" commandName="user" action="eingabe.htm" >
<form:input path="vorname" /><form:errors path="vorname" cssClass="error" id="error" />
<form:input pathe="nachname" /><form:errors path="nachname" cssClass="error" id="error" />
</form:form>
Java:
public class EingabeValidator implements Validator{
@Override
public boolean supports(Class clazz){
return User.class.isAssignableFrom(clazz);
}
@Override
public void validate(Object target, Errors errors){
User user = (User)target;
ValidationUtils.rejectIfEmpty(errors, "vorname", "vorname", "Angabe ist erforderlich");
ValidationUtils.rejectIfEmpty(errors, "nachme", "nachname", "Angabe ist erforderlich");
}
}
in dem eingabecontroller sage ich dann, sollte die eingabe falsch sein, also:
Java:
@RequestMapping(method = RequestMethod.POST)
public String handleRequestPost(@ModelAttribute("user")User user,
BindingResult result){
/**Gucke, ob die Eingabe ok ist*/
userHinzufuegenValidator.validate(user, result);
if(result.hasErrors()){
return "redirect:index.htm?content=eingabe.htm";
}else{
this.addUserServiceImpl.addUser(user);
return "redirect:index.htm?content=eingabe.htm";
}
}