Deux packages Composer publiés séparément : petroslabs/fr-validator, sans dépendance à un framework, et petroslabs/fr-validator-symfony, qui l'expose comme contraintes du composant Validator de Symfony.
Valide NIR (numéro de sécurité sociale), clé RIB, SIRET/SIREN, IBAN/BIC, numéro de TVA, numéro de téléphone et code NAF/APE — et dit pourquoi une valeur est invalide (checksum erroné, code département inconnu...) plutôt qu'un simple booléen.
Chaque algorithme est vérifié contre une source primaire plutôt que recopié d'un article de blog — plusieurs « exemples » de NIR largement diffusés en ligne ne respectent en réalité pas la formule de clé officielle. Les tests sont vérifiés par mutation testing (Infection) en plus de la couverture de lignes : la CI mute délibérément le code et échoue si un test laisse encore passer le comportement cassé.
Liens