diff --git a/composer.json b/composer.json index bee910c20..97d48f4de 100644 --- a/composer.json +++ b/composer.json @@ -25,6 +25,7 @@ "ext-pdo_mysql": "*", "aluguest/ical-easy-reader": "^1.5", "danielstjules/stringy": "^3.1", + "davidepastore/codice-fiscale": "^0.4.0", "ezyang/htmlpurifier": "^4.8", "filp/whoops": "^2.1", "guzzlehttp/guzzle": "^6.3", diff --git a/modules/anagrafiche/actions.php b/modules/anagrafiche/actions.php index dbeb0ee40..1eaf382aa 100644 --- a/modules/anagrafiche/actions.php +++ b/modules/anagrafiche/actions.php @@ -94,6 +94,15 @@ switch (post('op')) { ])); } + // Validazione del Codice Fiscale + $codice_fiscale = $anagrafica->codice_fiscale; + $check_codice_fiscale = Validate::isValidTaxCode($codice_fiscale); + if (empty($check_codice_fiscale)) { + flash()->error(tr('Attenzione: il codice fiscale _COD_ sembra non essere valido', [ + '_COD_' => $codice_fiscale, + ])); + } + // Aggiorno il codice anagrafica se non è già presente, altrimenti lo ignoro if ($anagrafica->codice != post('codice')) { flash()->error(tr("Il codice anagrafica inserito esiste già! Inserirne un'altro...")); diff --git a/src/Validate.php b/src/Validate.php index e1d0c1a5e..8c14c72e2 100644 --- a/src/Validate.php +++ b/src/Validate.php @@ -140,4 +140,12 @@ class Validate return true; } + + public static function isValidTaxCode($codice_fiscale) + { + + $validator = new CodiceFiscale\Validator($codice_fiscale); + + return $validator->isFormallyValid(); + } }