Spring 3 MVC: проблема с формой: ошибки и результат привязки - PullRequest
3 голосов
/ 12 января 2011

Я хочу проверить свои данные, но не могу заставить их работать: на странице ничего не отображается.Мой проект в 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 голосов
/ 12 января 2011

BindingResult.reject() связывает сообщение об ошибке с формой в целом, оно может отображаться как <form:errors/> без path. Чтобы связать ошибку с конкретным полем формы, используйте BindingResult.rejectValue():

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

Также нет проблем с JSR-303 с Java 5. Вам нужны JSR-303 провайдер и библиотеки API в пути к классам, а также в Java 6.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...