我想作以下验证:春天启动的自定义字段验证
- 在一封电子邮件中检查存在于数据库中。
- 在数据库中存在检查用户名。
- 检查密码确认是否正确输入。
我正在使用一个类进行验证。例如:
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注释放在一起。 –