Annotation Type Mod10Check
@Documented
@Constraint(validatedBy={})
@Target({METHOD,FIELD,ANNOTATION_TYPE,CONSTRUCTOR,PARAMETER,TYPE_USE})
@Retention(RUNTIME)
@Repeatable(List.class)
public @interface Mod10Check
@Modulo 10 check constraint.
Allows to validate that a series of digits pass the Mod10 checksum
algorithm. The classic Mod10 is calculated by summing up the digits, with every odd
digit (from right to left) value multiplied by a multiplier
.
As example ISBN-13 is Modulo 10 checksum with multiplier = 3
.
There are known cases of codes using multipliers for both even and odd
digits; To support this kind of implementations the Mod10 constraint uses the
weight
option, which has the same effect as the multiplier but for even
numbers.
The supported type is CharSequence
. null
is considered valid.
- Author:
- George Gastaldi, Hardy Ferentschik, Victor Rezende dos Santos
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic @interface
Defines several@Mod10Check
annotations on the same element. -
Optional Element Summary
-
Element Details
-
message
String message- Default:
- "{org.hibernate.validator.constraints.Mod10Check.message}"
-
groups
Class<?>[] groups- Default:
- {}
-
payload
- Default:
- {}
-
multiplier
int multiplier- Returns:
- The multiplier to be used for odd digits when calculating the Mod10 checksum.
- Default:
- 3
-
weight
int weight- Returns:
- The weight to be used for even digits when calculating the Mod10 checksum.
- Default:
- 1
-
startIndex
int startIndex- Returns:
- the start index (inclusive) for calculating the checksum. If not specified 0 is assumed.
- Default:
- 0
-
endIndex
int endIndex- Returns:
- the end index (inclusive) for calculating the checksum. If not specified the whole value is considered.
- Default:
- 2147483647
-
checkDigitIndex
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
boolean ignoreNonDigitCharacters- Returns:
- Whether non-digit characters in the validated input should be ignored (
true
) or result in a validation error (false
).
- Default:
- true
-