我想知道,我是否忽略了一些東西,或者hibernate驗證器沒有提供註釋來驗證2個字段是否相等(如密碼)。 我知道我可以寫我自己的驗證器,但是這好像是標準功能。hibernate驗證器:驗證2個字段匹配
回答
剛去了自定義驗證器路線。這裏的其他2個答案與問題沒有關係。 隨着一點谷歌搜索,我發現了一個fieldmatch的例子。
我希望你沒有在數據庫中保存確認密碼。您對此沒有任何現成的驗證,但您必須使用自定義註釋,這非常簡單。
我使用的休眠標籤,因爲WASN」一個hibernate-validator標籤,我不能創建新的。當然,我沒有保證確認領域。 – jack 2010-12-10 08:29:57
Hibernate是一個ORM映射器。
它用於將數據保存到數據庫並再次提取。因此,具有相同值的2個字段沒有多大意義(從持久性的角度來看)。這是你應該檢查你的業務邏輯。
我與Junesh ...不要以可檢索的格式保存您的密碼......查找Hasing和Salting - 或者更好,考慮openID,這樣您就不必再用另一個愚蠢的密碼來打擾您的客戶了。 ..
我使用了hibernate標籤,因爲沒有hibernate-validator標籤,我還無法創建新標籤。當然,我沒有保證確認領域。 – jack 2010-12-10 08:30:13
一個精心佈置的例子,解決類似的問題,即跨場驗證:
如果你使用Spring框架,那麼你可以使用了Spring表達式語言(規劃環境地政司)。我已經寫了一個小型庫,它提供了基於SpEL的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;
}
- 1. 使用asp.net驗證器驗證2個字段中的1個
- 2. jQuery驗證2個字段
- 3. 播放框架驗證匹配字段
- 4. jQuery驗證只驗證一個字段
- 5. 單個數字驗證碼匹配,PHP
- 6. Laravel驗證:僅在另一個驗證字段時驗證字段
- 7. 爲bean配置Hibernate驗證
- 8. 使用jQuery驗證器驗證兩個鏈接的字段
- 9. Android驗證器字段
- 10. 必填字段驗證器
- 11. 驗證grails驗證碼字段
- 12. 使用jQuery驗證字段驗證組
- 13. 單個字段的多個驗證器
- 14. 多個字段驗證
- 15. ParsleyJS - 驗證多個字段
- 16. Codeigniter:驗證兩個字段
- 17. 驗證多個空字段
- 18. 用jQuery驗證插件匹配兩個字段
- 19. Hibernate驗證程序驗證集
- 20. jQuery驗證:組驗證,但不是字段驗證
- 21. ASP.NET RegularExpressionValidator,驗證不匹配?
- 22. python passlib驗證不匹配
- 23. 密碼匹配angularjs驗證
- 24. Kohana驗證'匹配'規則
- 25. 驗證類字段
- 26. 驗證BigDecimal字段
- 27. 多字段驗證
- 28. Flex:你如何驗證2個密碼字段以確保它們匹配?
- 29. 2個驗證器一次驗證一個
- 30. Specs2匹配器進行驗證,並ValidatedNel
實現的例子:http://git.springsource.org/greenhouse/greenhouse/trees/master/src/main/java/com/springsource/greenhouse/validation – axtavt 2010-12-10 13:31:10