java - 为什么 HIbernate 的 PESEL validator 不起作用?

标签 java hibernate

文档:https://docs.jboss.org/hibernate/validator/5.4/api/org/hibernate/validator/internal/constraintvalidators/hv/pl/PESELValidator.html

@Test
    public void testEncryptingPesel() {
        // given
        CharSequence validPesel = "94092367705";


        // when
        PESELValidator validator = new PESELValidator();

        // then
        assertTrue(validator.isValid(validPesel, null));
}

测试失败。 PESEL 100% 正确,您可以在这里检查: https://sprawdz-numer.com/pesel

最佳答案

这是因为你没有初始化 validator ,所以它不知道哪个数字是验证数字。 您必须显式调用 initialize 方法:

// when
PESELValidator validator = new PESELValidator();
validator.initialize(null);

该参数为 null,因为它无论如何都会被忽略(很难说出该方法的作者的想法)。

关于java - 为什么 HIbernate 的 PESEL validator 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53052746/

相关文章:

java - 在数组中搜索特定值

java - StringBuffer 是如何工作的?为什么要这样做?

java - 通过 Apache CXF 框架生成 Web 服务时出错

java - JTextField 无法正常工作

java - 在 JPA 中重用持久性上下文

java - hibernate 为从 mysql 自动生成的时间戳返回 null

Java-解析大文本文件

spring - 迁移到hibernate核心5.2.1 java.lang.NoSuchMethodError : org. hibernate.Session.getFlushMode()Lorg/hibernate/FlushMode;

java - 在 JPA 中定义关系属性

hibernate - 如何基于id更新一行(grails域类)?