为什么HIbernate的PESEL验证器不起作用?

时间:2018-10-29 19:46:56

标签: 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

1 个答案:

答案 0 :(得分:1)

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

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

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

相关问题