Spring MVC: простая проверка без @ModelAttribute / «командный объект» - PullRequest
3 голосов
/ 11 апреля 2011

Как проверить простую форму (одно поле ввода) и показать ошибки, не предоставляя объект команды? Моя простая форма:

    <form id="verify" action="check.html">
        <input name="code"/>
        <form:errors path="code" />         
        <input type="submit" value="ok" />      
    </form>

Метод обработчика контроллера ниже. Мне нужно сгенерировать сообщение об ошибке и показать вместо form:errors

@RequestMapping("/check.html")
public String check(@RequestParam(value="code") String code) {
    if(!isGood(code)) {
        // How to bind some error messages for `code` ?
        return "fail"; // fail page
    }
    return "ok";
}

1 Ответ

6 голосов
/ 11 апреля 2011

Короче говоря, <form:errors> не работает без <form:form> и других функций, связанных с @ModelAttribute.Если вы хотите самое простое решение, вы можете экспортировать сообщение об ошибке как обычный атрибут модели вместо использования <form:errors>:

@RequestMapping("/check.html")
public String check(@RequestParam(value="code") String code, ModelMap model) {
    if(!isGood(code)) {
        model.put("codeError", "...")
        return "fail"; // fail page
    }
    return "ok";
}

    <form id="verify" action="check.html">
        <input name="code"/>
        <c:out value = "${codeError}" />            
        <input type="submit" value="ok" />      
    </form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...