Spring 3 MVC:form:errors和bindingresult存在问题

3

我希望验证我的输入,但我无法使其工作:页面上没有任何内容显示。我的项目是使用Java 5编写的,因此没有JSR303(@Valid)。如果我没有错的话,我的唯一解决方案是使用BindingResult。

我的控制器:

@Controller
public class MyController {

    @RequestMapping(method = RequestMethod.POST, value = "myPage.html")
    public void myHandler(MyForm myForm, BindingResult result, Model model) {
        result.reject("field1", "error message 1");
    }
}

我的JSP:

<form:form commandName="myForm" method="post">
    <label>Field 1 : </label>
    <form:input path="field1" />
    <form:errors path="field1" />

    <input type="submit" value="Post" />
</form:form>

我错过了什么?

谢谢!

1个回答

12

BindingResult.reject()方法会将错误信息与表单整体关联,可以通过<form:errors/>标签显示,而不需要使用

 result.rejectValue("field1", "messageCode", "Default error message"); 

在Java 5中使用JSR-303是没有问题的。您需要在类路径中添加JSR-303提供程序和API库,以及Java 6。


拒绝值是!谢谢,你救了这一天:)) - Maxime ARNSTAMM

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接