防止数据在updateForm中更改

时间:2018-11-07 17:45:13

标签: spring-mvc thymeleaf

  <form th:object="${owner}" class="form-horizontal" id="add-owner-form" method="post">
<div class="form-group has-feedback">
  <input
    th:replace="~{fragments/inputField :: input ('First Name', 'firstName', 'text')}" />
  <input
    th:replace="~{fragments/inputField :: input ('Last Name', 'lastName', 'text')}" />
  <input
    th:replace="~{fragments/inputField :: input ('Address', 'address', 'text')}" />
  <input
    th:replace="~{fragments/inputField :: input ('City', 'city', 'text')}" />
  <input
    th:replace="~{fragments/inputField :: input ('Telephone', 'telephone', 'text')}" />
    <input
          th:replace="~{fragments/inputField :: input ('Wallet', 'wallet', 'text')}" />
</div>
<div class="form-group">
  <div class="col-sm-offset-2 col-sm-10">
    <button
      th:with="text=${owner['new']} ? 'Add Owner' : 'Update Owner'"
      class="btn btn-default" type="submit" th:text="${text}">Add
      Owner</button>
  </div>
</div>

我将不允许用户更改除钱包以外的所有数据,而且我不知道该怎么做,因为如果我不包含钱包价值的形式,则提交后该价值就会消失

1 个答案:

答案 0 :(得分:0)

一种简单的解决方案(也是大多数人使用的解决方案)是将钱包添加为隐藏的输入,这样用户就不会看到它,而您仍将提交正确的信息。

<input th:field="*{wallt}" hidden="hidden"/>

另一种方法是接收具有空值的对象,然后获取原始版本并填充原始的其余空字段。

Owner originalOwner = ownerService.fetchById(owner.getId());
owner.setWallet(originalOwner.getWallet());