这个问题说明了一切,每当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进行验证并将结果重新呈现到页面上,
让我知道这是否有帮助。干杯!