- 履歴一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- Spring Boot/相関項目チェックする へ行く。
- 1 (2017-05-23 (火) 15:07:57)
- 2 (2017-05-23 (火) 18:04:53)
キーワード†
- Spring Boot
- 入力チェック
- 相関項目
したいこと†
たとえば、『新しいパスワード』と『新しいパスワード(再入力)』が同じであることをチェックしたい。
どうやって†
@AssertTrueを使うと楽に実装できる。
@Data
public class PasswordResetForm {
@NotBlank
private String currentPassword;
@NotBlank
private String newPassword;
private String newPasswordConfirm;
@AssertTrue(message="{application.validation.multiField.newPasswordConfirmed.message}")
public boolean isNewPasswordConfirmed() {
if (newPassword == null || newPassword.isEmpty()) return true;
return newPassword.equals(newPasswordConfirm);
}
}
Thymeleaf上では次のように書ける。
<p th:if="${#fields.hasErrors('*{newPasswordConfirmed}')
th:errors="*{newPasswordConfirmed}">
エラーメッセージ
</p>
ノート†
- 入力があるときだけ、などにしたい場合、順番を気にする必要がある
- 相関チェックするValidatorを作成することもできる(そのほうがいいかもしれない)
- メッセージはValidationMessages.propertiesの方に書く(messages.propertiesでなく)