Spring表单验证失败时如何记住输入字段值?

时间:2014-03-18 01:12:31

标签: html spring validation input spring-form

问题就是这样,每当Spring验证失败并且Spring再次重新呈现表单页面时,非弹簧输入元素,即那些没有<form:input..>结构的元素会丢失它们的值。我想记住这些值并重新显示它们以及错误消息。我怎么能做到这一点?

此外,当弹出窗体验证失败时再次重新渲染此视图时,不会调用$(document).ready()函数。为什么不调用它。我想在发生这种情况时清除密码字段。

1 个答案:

答案 0 :(得分:1)

这是一个很好的问题。

在我们的例子中,我们没有使用Spring验证,因为我们在类上实现了验证。

但是如果你选择&#39; @ Validation&#39;用于验证表单/ bean的注释,您可以使用下面的方法

    @RequestMapping(value = "/signup", method = RequestMethod.POST)
    public String addCustomer(@Valid Customer customer, BindingResult result, ModelMap map) {

        if (result.hasErrors()) {
             //add your other validations here. those which are not included in your bean validation
             //map.add(...);
            return "SignUpForm";
        } else {
            return "Done";
        }

    }

然后在你的前端( .jsp, .xhtml,*。jsf等)中,你可以通过像#34;#{myValue}&#34;这样的东西来渲染这些值。

此外,对于您的第二个问题,我唯一能看到的是&#39; $(文件).ready()&#39;如果您正在使用jquery进行验证并将结果重新呈现到页面,那就不要工作了。

如果这有帮助,请告诉我。 干杯!