繁体   English   中英

在spring3 MVC中显示验证错误

[英]Show validation errors in spring3 MVC

我需要帮助。 我想在Spring 3 MVC中使用自定义验证器来验证表单输入。 一切正常,但是如果出现错误,错误不会显示在表单上

这是控制器

public class ContactController {
 @ModelAttribute("Contact")
 public Contact getContactObject() {
      return new Contact();
     }


@RequestMapping(value = "/addContact", method = RequestMethod.POST)
public String processValidatinForm(@Valid Contact contact, BindingResult result, Map model,Errors e) {
    UserValidator validator = new UserValidator();
      validator.validate(contact, result);

    if (result.hasErrors()) {
        System.out.println("found Errors");
        return "contact";
    }
    // Add the saved validationForm to the model
    model.put("Contact", contact);
    return "successs";
}

@RequestMapping("/contacts")
public String showValidatinForm(Map model) {
    Contact contact = new Contact();
    model.put("Contact", contact);
    return "contact";
}

}用户验证器

    public class UserValidator implements Validator {

   @Override
        public boolean supports(Class clazz) {
       return Contact.class.isAssignableFrom(clazz);
   }

   @Override
   public void validate(Object target, Errors errors) {
      ValidationUtils.rejectIfEmptyOrWhitespace(errors, "userName", "Enter user name");
      ValidationUtils.rejectIfEmptyOrWhitespace(errors, "age", "Enter Age");
      ValidationUtils.rejectIfEmptyOrWhitespace(errors, "password", "Enter password.");

   }

}

这是表格jsp页面

 <form:form method="post" action="addContact.html" commandName="Contact">

<table>

<tr>
<td>User Name:<font color="red"><form:errors path="userName" /></font></td>

<tr>
<td><form:input path="userName" /></td>
</tr>

<tr>
<td>Age:<font color="red"><form:errors path="age" /></font></td>
</tr>

<tr>
<td><form:input path="age" /></td>
</tr>

<tr>
<td>Password:<font color="red"><form:errors path="password" /></font></td>
</tr>

<tr>
<td><form:password path="password" /></td>
</tr>

<tr>
<td><input type="submit" value="Submit" /></td>
</tr>

</table>

</form:form>

怎么做对?

谢谢您的回复。

我看到验证部分是正确的。 如果发生错误,请确保从控制器返回正确的视图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM