validate

Validates an ESIC number.

Input normalization before validation:

  1. Trim leading/trailing whitespace

  2. Strip internal whitespace

After normalization, checks are applied in this order — first failing check wins:

Return

ValidationResult.Valid if the input normalizes to exactly 17 digits, ValidationResult.Invalid with an appropriate InvalidReason otherwise.

Parameters

value

Raw ESIC number string.

Samples

check(ESIC.validate("12345678901234567") == ValidationResult.Valid)