【问题标题】:Spring MVC: Form Bind: Erroneous inputs do not retain valueSpring MVC:表单绑定:错误的输入不保留值
【发布时间】:2014-03-14 16:41:03
【问题描述】:

我使用的是标准 spring mvc 标签,ala:

<form:input id="startDate" path="startDate" cssClass="datepicker" cssErrorClass="error datepicker" placeholder="Start Date" />

由表单对象支持。

我的输入在服务器端验证,或者使用基于注释的表单对象绑定,ala:

@NotNull
getStartDate() { 
    return this.startDate();
}

或者被明确拒绝,唉:

FieldError fieldErr = new FieldError("theForm", "startDate", "Please check your dates");
BindingResult result.addError(fieldErr);

如果输入验证失败,spring 标签会正确地将 cssErrorClass 添加到输入中。然而,我的问题。我希望错误的内容保留在输入标签中。如果 1/1/14 被确定为无效,我希望用 1/1/14 作为该输入的值重新填充表单。

所以...帮忙?有人有解决方法吗?谢谢!

【问题讨论】:

  • 只需再次将经过验证的实例添加到模型中。

标签: java spring spring-mvc model-view-controller


【解决方案1】:

您有 2 个选项: 1-使用相同的名称再次将表单添加到模型中 2-将您的表单设置为@SeeeionAttribute,但在这种情况下,您的表单将存储在会话中,您需要在使用完成后从其中清除会话。

【讨论】:

  • 恐怕这行不通-我将表单读取到视图中(并且我已经验证表单包含正确的数据-单独打印出来),但是“
  • 您尝试了两种方法吗?您能否在显示错误之前检查 get 方法是否再次运行?
猜你喜欢
  • 1970-01-01
  • 2018-06-09
  • 1970-01-01
  • 2016-03-16
  • 1970-01-01
  • 2012-12-01
  • 2021-02-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多