【问题标题】:How to remember input field values when Spring form validation fails?Spring表单验证失败时如何记住输入字段值?
【发布时间】:2014-03-18 01:12:30
【问题描述】:

问题说明了一切,每当 Spring 验证失败并且 Spring 再次重新呈现表单页面时,非 Spring 输入元素,即那些没有 <form:input..> 结构的元素就会失去其价值。我想记住这些值并将它们与错误消息一起重新显示。我怎样才能做到这一点?

此外,当 Spring 在表单验证失败时再次重新呈现此视图时,不会调用 $(document).ready() 函数。为什么这不会被调用。发生这种情况时,我想清除密码字段。

【问题讨论】:

    标签: html spring validation input spring-form


    【解决方案1】:

    这是一个很好的问题。

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

    但是,如果您使用“@Validation”注释来验证您的表单/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 等)中,您可以通过“#{myValue}”之类的方式呈现这些值。

    另外,对于您的第二个问题,我看到 '$(document).ready() ' 唯一不起作用的是,如果您使用 jquery 进行验证并将结果重新渲染到页面。

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

    【讨论】:

      猜你喜欢
      • 2011-01-26
      • 2014-02-06
      • 2019-12-04
      • 2012-05-13
      • 1970-01-01
      • 1970-01-01
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多