问题就是这样,每当Spring验证失败并且Spring再次重新呈现表单页面时,非弹簧输入元素,即那些没有<form:input..>
结构的元素会丢失它们的值。我想记住这些值并重新显示它们以及错误消息。我怎么能做到这一点?
此外,当弹出窗体验证失败时再次重新渲染此视图时,不会调用$(document).ready()函数。为什么不调用它。我想在发生这种情况时清除密码字段。
答案 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进行验证并将结果重新呈现到页面,那就不要工作了。
如果这有帮助,请告诉我。 干杯!