Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation 验证后如何显示数据?_Validation_Spring Mvc_Post_Controller - Fatal编程技术网

Validation 验证后如何显示数据?

Validation 验证后如何显示数据?,validation,spring-mvc,post,controller,Validation,Spring Mvc,Post,Controller,我有一份登记表: regStore.jsp <form:form id = "storeRegForm" method="POST" action="/regStoreSuccessful" commandName="storeForm"> <h3>Registration store</h3> <table> <tr> <td><form:label path="name">Store name

我有一份登记表:

regStore.jsp

<form:form id = "storeRegForm" method="POST" action="/regStoreSuccessful" commandName="storeForm">
<h3>Registration store</h3>
  <table>
  <tr>
    <td><form:label path="name">Store name</form:label></td>
    <td><form:input path="name" /></td>
    <td><form:errors path="name" /></td>
  </tr>
  <tr>
    <td><form:label path="storeType.id">Store type</form:label></td>
    <td><form:select path="storeType.id" >
      <form:options items="${typeList}" itemValue="id" itemLabel="name"/>
    </form:select></td>
    <td><form:errors path="storeType.id" /></td>

  </tr>
  <tr>
    <td><form:label path="address">Store address</form:label></td>
    <td><form:input path="address" /></td>
    <td><form:errors path="address" /></td>
  </tr>
  <tr>
    <td colspan="2">
      <input type="submit" value="Register"/>
    </td>
  </tr>
</table>
在我的模型中,注释,如下所示:

@NotEmpty(message = "Name of store can't be empty")
private String name;
另外,客户端验证:

<script type="text/javascript">
$(document).ready(function () {
$(".registration #storeRegForm").validate({
  rules: {
    name: "required",
    address : "required"
  },
  messages: {
    name: "Name isn't be null",
    address : "Address isn't be null"
  }
});
});
</script>

$(文档).ready(函数(){
$(“.registration#storeRegForm”).validate({
规则:{
名称:“必需”,
地址:“必填”
},
信息:{
名称:“名称不能为空”,
地址:“地址不能为空”
}
});
});
如果我用jQuery(客户端验证)注释掉代码验证,并且我的表单字段将为空,则开始工作服务器端验证,但在服务器端验证之后,表单中不显示存储类型的列表,更多信息如图所示:


谢谢

问题非常简单,在
if
块中,您将数据填充到预定义的model和view中,然后返回不同的实例

if(bindingResult.hasErrors()) {
    modelAndView.addObject("storeForm", storeForm);
    modelAndView.addObject("typeList", storeTypeService.getAllTypes());
    // !!!!!!
    return new ModelAndView("Store/regStore");
}

谢谢,这是我的最终解决方案:ModelAndView ModelAndView 1=新ModelAndView(“Store/regStore”);modelAndView1.addObject(“storeForm”,storeForm);modelAndView1.addObject(“类型列表”,storeTypeService.getAllTypes());返回modelAndView1;}
if(bindingResult.hasErrors()) {
    modelAndView.addObject("storeForm", storeForm);
    modelAndView.addObject("typeList", storeTypeService.getAllTypes());
    // !!!!!!
    return new ModelAndView("Store/regStore");
}