W3cubDocs

/Symfony 4.1

LuhnValidator

class LuhnValidator extends ConstraintValidator

Validates a PAN using the LUHN Algorithm.

For a list of example card numbers that are used to test this class, please see the LuhnValidatorTest class.

Constants

PRETTY_DATE

Whether to format {@link \DateTime} objects as RFC-3339 dates ("Y-m-d H:i:s").

OBJECT_TO_STRING

Whether to cast objects with a "__toString()" method to strings.

Properties

protected ExecutionContextInterface $context from ConstraintValidator

Methods

initialize(ExecutionContextInterface $context)

Initializes the constraint validator.

from ConstraintValidator
string formatTypeOf(mixed $value)

Returns a string representation of the type of the value.

from ConstraintValidator
string formatValue(mixed $value, int $format = 0)

Returns a string representation of the value.

from ConstraintValidator
string formatValues(array $values, int $format = 0)

Returns a string representation of a list of values.

from ConstraintValidator
validate(mixed $value, Constraint $constraint)

Validates a credit card number with the Luhn algorithm.

Details

initialize(ExecutionContextInterface $context)

Initializes the constraint validator.

Parameters

ExecutionContextInterface $context The current validation context

protected string formatTypeOf(mixed $value)

Returns a string representation of the type of the value.

This method should be used if you pass the type of a value as message parameter to a constraint violation. Note that such parameters should usually not be included in messages aimed at non-technical people.

Parameters

mixed $value The value to return the type of

Return Value

string The type of the value

protected string formatValue(mixed $value, int $format = 0)

Returns a string representation of the value.

This method returns the equivalent PHP tokens for most scalar types (i.e. "false" for false, "1" for 1 etc.). Strings are always wrapped in double quotes ("). Objects, arrays and resources are formatted as "object", "array" and "resource". If the $format bitmask contains the PRETTY_DATE bit, then {@link \DateTime} objects will be formatted as RFC-3339 dates ("Y-m-d H:i:s").

Be careful when passing message parameters to a constraint violation that (may) contain objects, arrays or resources. These parameters should only be displayed for technical users. Non-technical users won't know what an "object", "array" or "resource" is and will be confused by the violation message.

Parameters

mixed $value The value to format as string
int $format A bitwise combination of the format constants in this class

Return Value

string The string representation of the passed value

protected string formatValues(array $values, int $format = 0)

Returns a string representation of a list of values.

Each of the values is converted to a string using {@link formatValue()}. The values are then concatenated with commas.

Parameters

array $values A list of values
int $format A bitwise combination of the format constants in this class

Return Value

string The string representation of the value list

See also

formatValue()

validate(mixed $value, Constraint $constraint)

Validates a credit card number with the Luhn algorithm.

Parameters

mixed $value The value that should be validated
Constraint $constraint The constraint for the validation

Exceptions

UnexpectedTypeException when the given credit card number is no string

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Validator/Constraints/LuhnValidator.html