这个问题说明了一切,每当 Spring 验证失败并且 Spring 再次重新呈现表单页面时,非 Spring 输入元素,即那些没有<form:input..>
结构的元素就会失去其价值。我想记住这些值并将它们与错误消息一起重新显示。我怎样才能做到这一点?
此外,当 Spring 在表单验证失败时再次重新呈现此视图时,不会调用 $(document).ready() 函数。为什么这不会被调用。发生这种情况时,我想清除密码字段。
这个问题说明了一切,每当 Spring 验证失败并且 Spring 再次重新呈现表单页面时,非 Spring 输入元素,即那些没有<form:input..>
结构的元素就会失去其价值。我想记住这些值并将它们与错误消息一起重新显示。我怎样才能做到这一点?
此外,当 Spring 在表单验证失败时再次重新呈现此视图时,不会调用 $(document).ready() 函数。为什么这不会被调用。发生这种情况时,我想清除密码字段。
这是一个很好的问题。
在我们的例子中,我们没有使用 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 进行验证并将结果重新呈现到页面。
让我知道这是否有帮助。干杯!