Hibernate验证:验证2个字段匹配
-
25-09-2019 - |
题
我想知道,我会忽视的东西或不休眠验证器提供无注释,以验证2个字段是相等的(如密码)。 我知道我可以写我自己的验证,但也这似乎是标准功能。
解决方案 3
刚走到了自定义的验证路径。这里的其他2个回答并没有真正涉及到的问题。 与位使用Google的我发现了一个fieldmatch例子。
其他提示
如果你使用Spring框架,那么你可以使用了Spring表达式语言(规划环境地政司)。 [我已写了小库,它提供基于规划环境地政司JSR-303的验证,使跨字段验证非常容易。看看 https://github.com/jirutka/validator-spring 。
这将验证密码字段的平等当它们中的至少一个不是空的。
@SpELAssert(value = "password.equals(passwordVerify)",
applyIf = "password || passwordVerify",
message = "{validator.passwords_not_same}")
public class User {
private String password;
private String passwordVerify;
}
一个布局很好的例子,地址的类似的问题,即,跨字段验证:
Hibernate是一个ORM映射器。
它用于数据持续到一个DB,并再次将其解压缩。这样,具有相同的值2场使得没有太大意义(从一个持久性点)。那你应该检查你的业务逻辑。
和我与Junesh ...不要坚持你的密码保存在一个检索的格式...查一查Hasing和盐 - 甚至更好,想OpenID的,所以你不要有另一种愚蠢的密码来打扰你的客户..
我希望你是不是在数据库中保存的确认密码。您没有任何的开箱验证这个的,而是你将不得不使用定制的注释,这是非常简单的为好。
不隶属于 StackOverflow