ユーザーデータを編集したいフォームがあります。したがって、すでに保存されているデータはth:valueとして入力され、送信後、Spring検証で検証し、間違った入力でフォームを返却したいと考えています。入力フィールドにユーザーによる入力の値を設定しますが、代わりに常に保存された入力が表示されます。
入力フィールドは次のようになります
<input type="text" th:value="${product.name}" th:field="*{name}" th:errorclass="fieldError"/>
フォームが初めて読み込まれる場合、入力フィールドには既に保存されているデータの値が含まれているはずです。
送信後に読み込まれ、検証エラーが発生した場合、入力フィールドにはユーザーの入力値が含まれているはずです。
その方法はありますか?
ありがとう!
属性th:fieldは、属性value、idおよびnameinputタグ。
代わりに、プレーンなth:id、th:valueおよびth:nameth:fieldを使用しない。その後、あなたはあなたが望んだものを手に入れます。
その後、次のようになります。
<input type="text" th:value="${product.name}" th:name="name" th:id="name" th:errorclass="fieldError"/>
同様の答えはここにあります: thymeleaf th:他の変数からフィールド値を設定する方法
Th:fieldまたはvalueを使用して、IDと名前に問題はありません。 th:fieldを使用する場合、次のように記述できます:
<input type="text" th:field="${product.name}" th:value="${product.name}" "th:errorclass="fieldError"/>