我想作以下驗證:春天啓動的自定義字段驗證
- 在一封電子郵件中檢查存在於數據庫中。
- 在數據庫中存在檢查用戶名。
- 檢查密碼確認是否正確輸入。
我正在使用一個類進行驗證。例如:
public class RegisterRequest {
@NotNull(message = "Please enter an email")
@Email(message = "Not a valid email")
@JsonProperty("email")
public String email;
@NotNull(message = "Please enter a name")
@JsonProperty("name")
public String name;
@NotNull(message = "Please enter a password")
@JsonProperty("password")
public String password;
@NotNull
@JsonProperty("password_confirmation")
public String passwordConfirmation;
}
直到目前爲止,這一切都工作正常。
但現在我想建立在密碼驗證(檢查2密碼的匹配)。我只會使用這一次,所以我認爲沒有必要爲此創建一個完整的註釋。
如何在不使用註釋的情況下做到這一點。
我發現,來關閉到我想要的是一個方法,使用@AssertTrue
一個驗證密碼的解決方案:
@AssertTrue("Passwords don't match")
public boolean checkPasswords() {
return this.password.equals(this.passwordConfirmation);
}
這工作,但它沒有連接到一個領域,但它是一個全球性的錯誤。
所以我找不到Passwords don't match
錯誤屬於哪個字段。 有沒有辦法將checkPasswords
驗證鏈接到一個字段?
https://www.mkyong.com/spring-mvc/spring-mvc-password-example/ – StanislavL
@StanislavL此鏈接7歲,談論舊的驗證方式。請注意,作者將'bean-validation'標記和JSR-303註釋放在一起。 –