Spring验证错误没有在我的jsp中打印出来

时间:2016-11-24 10:12:19

标签: java spring forms validation jsp

我有一个jsp如下:

<form:form action="/SpringWebProject/login" method="post" modelAttribute="loginForm">
<table>
<tr>
<td>
<label id="username"><fmt:message key="login.username" />:</label>
</td> 
<td>
<form:input  path="username" /></td>
<td><form:errors path="username" cssClass="error"></form:errors>

控制器:

@RequestMapping("/login")   
public String verifyLogin(@Valid @ModelAttribute("loginForm") LoginForm loginForm,BindingResult bindingResult,LoginForm loginFrm)
{
    if(bindingResult.hasErrors())
    {
        System.out.println("here in error" + bindingResult.getAllErrors().get(0));
        return "login";
    }
    System.out.println("hello" +loginService);
    loginService.verifyLogin(loginForm);

我的模型对象是LoginForm:

package com.neha.javabrains;



public class LoginForm {
public String username;
public String password;
public String getUsername() {
    return username;
}
public void setUsername(String username) {
    this.username = username;
}
public String getPassword() {
    return password;
}
public void setPassword(String password) {
    this.password = password;
}


}

验证者条目是:

@Override
    public void validate(Object loginClass, Errors errors) {
        // TODO Auto-generated method stub
        System.out.println("here in validator");
        LoginForm loginForm=(LoginForm)loginClass;
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "username", "username.empty","Username empty");
        Pattern p=Pattern.compile("[^A-Za-z0-9]");
        Matcher matcher=p.matcher(loginForm.getUsername());
        boolean spclCharsPresent=matcher.find();
        if(spclCharsPresent)
        {
            errors.rejectValue("username", "SpecialCharactersPresent");
        }
    }

在我的控制器中,打印出Validator错误,但这些错误未在jsp上显示。

我拥有所有正确的条目,例如modelAttribute和属性文件中的条目,但仍然没有打印错误。

0 个答案:

没有答案