org.hibernate.validator.constraints

## Annotation Type LuhnCheck

-     @Documented
      @Constraint(validatedBy={})
      @Target(value={METHOD,FIELD,ANNOTATION_TYPE,CONSTRUCTOR,PARAMETER})
      @Retention(value=RUNTIME)
      public @interface LuhnCheck

  Luhn algorithm check constraint.

  Allows to validate that a series of digits pass the Luhn Modulo 10 checksum algorithm. The Luhn Mod10 is calculated by summing up the digits, with every odd digit (from right to left) value multiplied by 2, if the value is greater than 9 the the result digits a summed before the total summing.

  The supported type is `CharSequence`. `null` is considered valid.

  Author:
    George Gastaldi, Hardy Ferentschik, Victor Rezende dos Santos

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `int` | `checkDigitIndex`
    `int` | `endIndex`
    `Class<?>[]` | `groups`
    `boolean` | `ignoreNonDigitCharacters`
    `String` | `message`
    `Class<? extends Payload>[]` | `payload`
    `int` | `startIndex`

- - ### Element Detail

    - #### message

          public abstract String message

      Default:
        "{org.hibernate.validator.constraints.LuhnCheck.message}"

    - #### groups

          public abstract Class<?>[] groups

      Default:
        {}

    - #### payload

          public abstract Class<? extends Payload>[] payload

      Default:
        {}

    - #### startIndex

          public abstract int startIndex

      Returns:
        the start index (inclusive) for calculating the checksum. If not specified 0 is assumed.
      Default:
        0

    - #### endIndex

          public abstract int endIndex

      Returns:
        the end index (inclusive) for calculating the checksum. If not specified the whole value is considered.
      Default:
        2147483647

    - #### checkDigitIndex

          public abstract int checkDigitIndex

      Returns:
        The index of the check digit in the input. Per default it is assumed that the check digit is the last digit of the specified range. If set, the digit at the specified index is used. If set the following must hold true: `checkDigitIndex > 0 && (checkDigitIndex < startIndex || checkDigitIndex >= endIndex`.
      Default:
        -1

    - #### ignoreNonDigitCharacters

          public abstract boolean ignoreNonDigitCharacters

      Returns:
        Whether non-digit characters in the validated input should be ignored (`true`) or result in a validation error (`false`).
      Default:
        true

Copyright © 2007-2014 Red Hat, Inc. All Rights Reserved