0
我已經開始使用spring(3.0.5)窗體,最近使用了hibernate驗證器(4.0.2.GA)。我的驗證工作正常,我可以顯示來自休眠驗證程序的錯誤消息。 如何顯示其他消息,如:username and password mismatch
和其他消息? 這裏是我的表格:帶彈簧和自由標記的驗證表
<form action="loginprocess" method="post">
<h1>Log in</h1>
<@spring.bind "loginForm" />
<@spring.showErrors '*', 'errors' />
<p>
<label class="uname" data-icon="u"> UserName :</label>
<@spring.formInput "loginForm.username","placeholder='eg. myusername'" />
<@spring.showErrors "loginForm.username","error" />
</p>
<p>
<label class="youpasswd" data-icon="p">Password :</label>
<@spring.formPasswordInput "loginForm.password","placeholder='eg. @dakdjlkdja'" />
<@spring.showErrors "loginForm.password", "error" />
</p>
<input type="submit" style="background:#000; border: solid 1px #000;" value="Login"/>
<p class="change_link">
Not a member yet ?
<a href="/site/authentication/signup/form" class="to_register">Sign up</a>
</p>
</form>
我的控制器看起來是這樣的:
@RequestMapping(value = "/site/authentication/login")
public ModelAndView nativeLogin(){
LoginForm loginForm = new LoginForm();
return new ModelAndView("login","loginForm",loginForm);
}
@RequestMapping(value = "/site/authentication/loginprocess")
public ModelAndView processNativeLogin(@ModelAttribute @Valid LoginForm loginForm, BindingResult result, Model model){
if(result.hasErrors()){
return new ModelAndView("login","loginForm",loginForm);
}
try {
Subject currentUser = SecurityUtils.getSubject();
if (!currentUser.isAuthenticated()) {
UsernamePasswordToken token = new UsernamePasswordToken(loginForm.getUsername(), loginForm.getPassword());
SecurityUtils.getSubject().login(token);
}
} catch (UnknownAccountException uae) {
// how to set this message to show on the form ?"Login Failed! Please check your credentials and try again.");
} catch (IncorrectCredentialsException ice) {
//"Login Failed! Please check your credentials and try again.");
}
}
任何人都可以闡明如何實現它的一些光? 感謝您閱讀本文。