Validatori Documenti
Panoramica
I validatori documenti verificano i numeri di documenti di identità di diversi paesi europei e USA: carte d'identità nazionali, passaporti, targhe automobilistiche e patenti di guida. Ogni validatore supporta un parametro opzionale per il codice paese; se omesso, viene tentato il match con tutti i formati noti.
I valori vengono automaticamente convertiti in maiuscolo e ripuliti da spazi e trattini prima della validazione.
Validatori
nationalid
Sintassi: nationalid oppure nationalid:paese
Descrizione: Verifica il numero di carta d'identità nazionale. Con il codice paese applica la validazione specifica; senza, tenta tutti i formati noti.
Parametro: (opzionale) codice paese ISO: IT, DE, FR, ES, GB, PT
| Paese | Formato | Esempio |
|---|---|---|
IT | 2 lettere + 7 cifre | AB1234567 |
DE | 9 caratteri alfanumerici specifici | CFGHJK123 |
FR | 12 cifre | 123456789012 |
ES | 8 cifre + 1 lettera (DNI) | 12345678A |
GB | 2 lettere + 6 cifre + opz. lettera e cifra | AB123456C |
PT | 8 cifre | 12345678 |
Esempi:
// Italia
ValidationService.validate('AB1234567', 'nationalid:IT') // valido
ValidationService.validate('A1234567', 'nationalid:IT') // non valido: solo 1 lettera
// Spagna (DNI)
ValidationService.validate('12345678A', 'nationalid:ES')
ValidationService.validate('12345678Z', 'nationalid:ES')
// Generico (prova tutti i formati)
ValidationService.validate('AB1234567', 'nationalid')
// In schema DynamicFormLayouts
{ name: 'cartaidentita', type: 'text', validation: 'required|nationalid:IT' }
passportnumber
Sintassi: passportnumber oppure passportnumber:paese
Descrizione: Verifica il numero di passaporto. Con il codice paese applica la validazione specifica; senza parametro usa il formato generico (6-12 caratteri alfanumerici).
Parametro: (opzionale) codice paese: IT, DE, FR, ES, GB, US
| Paese | Formato | Esempio |
|---|---|---|
IT | 2 lettere + 7 cifre | AB1234567 |
DE | 9 caratteri alfanumerici specifici | CFGH12345 |
FR | 2 cifre + 2 lettere + 5 cifre | 12AB12345 |
ES | 3 lettere + 6 cifre | ABC123456 |
GB | 9 cifre | 123456789 |
US | opz. lettera + 8-9 cifre | A12345678 |
| generico | 6-12 alfanumerici | AB123456 |
Esempi:
// Italia
ValidationService.validate('AB1234567', 'passportnumber:IT')
// USA
ValidationService.validate('123456789', 'passportnumber:US')
ValidationService.validate('A12345678', 'passportnumber:US')
// Generico
ValidationService.validate('AB123456', 'passportnumber')
// In schema DynamicFormLayouts
{ name: 'passaporto', type: 'text', validation: 'required|passportnumber:IT' }
vehicleregistration
Sintassi: vehicleregistration oppure vehicleregistration:paese
Descrizione: Verifica la targa del veicolo. Con il codice paese applica il formato specifico; senza, tenta tutti i formati noti.
Parametro: (opzionale) codice paese: IT, DE, FR, ES, GB, AT, CH
| Paese | Formato | Esempio |
|---|---|---|
IT | 2 lettere + 3 cifre + 2 lettere | AB123CD |
DE | 1-3 lettere + trattino + 1-2 lettere + 1-4 cifre | M-AB1234 |
FR | 2 lettere + trattino + 3 cifre + trattino + 2 lettere | AB-123-CD |
ES | 4 cifre + 3 lettere | 1234BCD |
GB | 2 lettere + 2 cifre + 3 lettere | AB12CDE |
AT | 1-2 lettere + 1-6 cifre + opz. lettera | W1234 |
CH | 2 lettere + 1-6 cifre | ZH12345 |
Esempi:
// Italia
ValidationService.validate('AB123CD', 'vehicleregistration:IT')
ValidationService.validate('FG456HI', 'vehicleregistration:IT')
// Germania
ValidationService.validate('M-AB1234', 'vehicleregistration:DE')
ValidationService.validate('HH-AB123', 'vehicleregistration:DE')
// Generico
ValidationService.validate('AB123CD', 'vehicleregistration')
// In schema DynamicFormLayouts
{ name: 'targa', type: 'text', validation: 'required|vehicleregistration:IT' }
driverlicense
Sintassi: driverlicense oppure driverlicense:paese
Descrizione: Verifica il numero della patente di guida. Con il codice paese applica il formato specifico; senza, usa una validazione generica (4-20 caratteri alfanumerici).
Parametro: (opzionale) codice paese: IT, DE, FR, GB, US
| Paese | Formato | Esempio |
|---|---|---|
IT | 2 lettere + 7 cifre + 1 lettera | AB1234567X |
DE | 11 caratteri alfanumerici | A1234567890 |
FR | 12 cifre | 123456789012 |
GB | 5 lettere + 6 cifre + 2 lettere + 2 cifre | ABCDE123456AB12 |
US | 4-16 caratteri alfanumerici (varia per stato) | D1234567 |
| generico | 4-20 caratteri alfanumerici | ABC123456 |
Esempi:
// Italia
ValidationService.validate('AB1234567X', 'driverlicense:IT')
// USA
ValidationService.validate('D1234567', 'driverlicense:US')
ValidationService.validate('AB123456789', 'driverlicense:US')
// Generico
ValidationService.validate('ABC123456', 'driverlicense')
// In schema DynamicFormLayouts
{ name: 'patente', type: 'text', validation: 'required|driverlicense:IT' }