[hibernate-commits] [hibernate/hibernate-validator] 98f82b: HV-808 Fixing Mod11 and CPF Validation Bug

GitHub noreply at github.com
Wed Aug 14 10:11:14 EDT 2013


  Branch: refs/heads/master
  Home:   https://github.com/hibernate/hibernate-validator
  Commit: 98f82b895acf5351ce7b6fcfa34f215336e2c5a0
      https://github.com/hibernate/hibernate-validator/commit/98f82b895acf5351ce7b6fcfa34f215336e2c5a0
  Author: Victor Rezende dos Santos <victor.rds at outlook.com>
  Date:   2013-08-14 (Wed, 14 Aug 2013)

  Changed paths:
    M engine/src/main/java/org/hibernate/validator/constraints/ModCheck.java
    M engine/src/main/java/org/hibernate/validator/constraints/br/CPF.java
    M engine/src/main/java/org/hibernate/validator/internal/constraintvalidators/ModCheckValidator.java
    M engine/src/main/java/org/hibernate/validator/internal/util/ModUtil.java
    M engine/src/test/java/org/hibernate/validator/test/constraints/br/CPFValidatorTest.java
    M engine/src/test/java/org/hibernate/validator/test/internal/util/ModUtilTest.java

  Log Message:
  -----------
  HV-808 Fixing Mod11 and CPF Validation Bug

- ModUtil#mod11 no longer validates the check digit, only calculates the checksum result

- ModUtil#passesMod11Test: Change the way validation test is done, compares check digit with sum mod instead of checking if the Mod11 sum of all elements returns 0, this fixes when the same check digit is used for 10 and 11. Adding explicit comment about the assumption the mod11 algorithm makes

- Change the method's signatures  of ModUtil#mod10 and ModUtil#passesMod11Test to use the check digit as a separate parameter

- ModCheckValidator Check digit is no longer passed on the same list with other digits of the code, but as a separate int value

- @CPF: Change exlusion patterns: Non-digit characters are now optional, Adds more exclusion patterns, any sequence of the same digit passes on the mod11 check but are considered invalid CPF numbers.


  Commit: 3ace852226f0b95cdf6567312095d3f7f2091ceb
      https://github.com/hibernate/hibernate-validator/commit/3ace852226f0b95cdf6567312095d3f7f2091ceb
  Author: Victor Rezende dos Santos <victor.rds at outlook.com>
  Date:   2013-08-14 (Wed, 14 Aug 2013)

  Changed paths:
    M engine/src/main/java/org/hibernate/validator/internal/constraintvalidators/ModCheckValidator.java
    M engine/src/main/java/org/hibernate/validator/internal/util/ModUtil.java
    M engine/src/test/java/org/hibernate/validator/test/constraints/br/CPFValidatorTest.java
    M engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/ModCheckValidatorTest.java
    M engine/src/test/java/org/hibernate/validator/test/internal/util/ModUtilTest.java

  Log Message:
  -----------
  HV-808 Fix and Test Updates

Code updates from the feedback of Pull Request #263

- Removes ModUtil#passesMod11Test and ModUtil#passesMod10Test the check digit validation is now done in the ModCheckValidator#isValid

- ModCheckValidator Change the way check digit is extracted, as char instead as String, add extractDigit method for conversion

- Remove useless comments from CPFValidatorTest

- Change CPFValidatorTest, ModValidatorTest and ModUtilTest to run tests for new methods versions


Compare: https://github.com/hibernate/hibernate-validator/compare/64309188811d...3ace852226f0


More information about the hibernate-commits mailing list