Validators

Validatori Codici Prodotto

Validatori per codici prodotto e identificatori commerciali - ISBN, UPC, EAN, GTIN e SKU.

Panoramica

I validatori codici prodotto coprono gli standard internazionali per l'identificazione di prodotti e pubblicazioni: ISBN per libri, UPC e EAN per prodotti al dettaglio, GTIN come standard GS1 unificato, e SKU per codici prodotto interni. Tutti i validatori includono la verifica del checksum quando prevista dallo standard.

Spazi e trattini vengono rimossi automaticamente prima della validazione.

Validatori

isbn

Sintassi: isbn
Descrizione: Verifica la validità di un codice ISBN (International Standard Book Number). Supporta sia ISBN-10 (10 caratteri, con carattere di controllo 0-9 o X) che ISBN-13 (13 cifre, prefisso 978 o 979) con verifica del checksum.

Trattini e spazi vengono rimossi automaticamente.

Esempi:

// ISBN-13 (con trattini)
ValidationService.validate('978-3-16-148410-0', 'isbn')   // valido
ValidationService.validate('978-0-306-40615-7', 'isbn')   // valido

// ISBN-10 (con trattini)
ValidationService.validate('0-306-40615-2', 'isbn')       // valido

// ISBN-10 con X come checksum
ValidationService.validate('155860832X', 'isbn')           // valido
ValidationService.validate('0-19-853453-1', 'isbn')       // valido

// Non valido
ValidationService.validate('123456789', 'isbn')            // 9 cifre: né ISBN-10 né ISBN-13
ValidationService.validate('978-3-16-148410-1', 'isbn')   // checksum errato

// In schema DynamicFormLayouts
{ name: 'isbn', type: 'text', validation: 'required|isbn' }

upc

Sintassi: upc
Descrizione: Verifica la validità di un codice UPC (Universal Product Code). Supporta UPC-A (12 cifre, con checksum Luhn) e UPC-E (8 cifre, formato compresso; il primo carattere deve essere 0 o 1).

Spazi e trattini vengono rimossi automaticamente.

Esempi:

// UPC-A (12 cifre)
ValidationService.validate('012345678905', 'upc')    // valido
ValidationService.validate('012 345 678905', 'upc')  // valido (spazi rimossi)

// UPC-E (8 cifre, compresso)
ValidationService.validate('01234565', 'upc')        // valido
ValidationService.validate('00123457', 'upc')        // valido

// Non valido
ValidationService.validate('12345678905', 'upc')     // 11 cifre: formato non riconosciuto
ValidationService.validate('012345678900', 'upc')    // checksum errato

// In schema DynamicFormLayouts
{ name: 'codiceupc', type: 'text', validation: 'required|upc' }

ean

Sintassi: ean
Descrizione: Verifica la validità di un codice EAN (European Article Number). Supporta EAN-8 (8 cifre, prodotti piccoli) e EAN-13 (13 cifre, standard internazionale) con verifica del checksum.

Spazi e trattini vengono rimossi automaticamente.

Esempi:

// EAN-13
ValidationService.validate('4006381333931', 'ean')    // valido
ValidationService.validate('5901234123457', 'ean')    // valido
ValidationService.validate('400 6381 333931', 'ean')  // valido (spazi rimossi)

// EAN-8
ValidationService.validate('96385074', 'ean')         // valido
ValidationService.validate('40170725', 'ean')         // valido

// Non valido
ValidationService.validate('4006381333930', 'ean')    // checksum errato
ValidationService.validate('123456', 'ean')           // lunghezza non valida

// In schema DynamicFormLayouts
{ name: 'codiceean', type: 'text', validation: 'required|ean' }

gtin

Sintassi: gtin
Descrizione: Verifica la validità di un codice GTIN (Global Trade Item Number), lo standard GS1 che include UPC, EAN e altri formati. Supporta GTIN-8, GTIN-12, GTIN-13 e GTIN-14 con verifica del checksum tramite algoritmo GS1.

Spazi e trattini vengono rimossi automaticamente.

FormatoCifreCorrisponde a
GTIN-88EAN-8
GTIN-1212UPC-A
GTIN-1313EAN-13
GTIN-1414Standard GS1 con indicatore packaging

Esempi:

// GTIN-13 (equivalente EAN-13)
ValidationService.validate('4006381333931', 'gtin')    // valido

// GTIN-12 (equivalente UPC-A)
ValidationService.validate('012345678905', 'gtin')     // valido

// GTIN-14 (con indicatore packaging)
ValidationService.validate('14006381333931', 'gtin')   // valido

// GTIN-8 (equivalente EAN-8)
ValidationService.validate('96385074', 'gtin')         // valido

// Non valido
ValidationService.validate('123456789', 'gtin')        // 9 cifre non supportate
ValidationService.validate('4006381333930', 'gtin')    // checksum errato

// In schema DynamicFormLayouts
{ name: 'codicegtin', type: 'text', validation: 'required|gtin' }

sku

Sintassi: sku oppure sku:formato
Descrizione: Verifica la validità di un codice SKU (Stock Keeping Unit). Senza parametro usa il formato generico. Con parametro, applica regole specifiche per il formato indicato.
Parametro: (opzionale) alphanumeric, standard, simple

FormatoPatternEsempio
generico (default)4-30 alfanumerici + trattini/underscore opzionaliPROD_12345, ABC-XYZ-001
alphanumericSolo alfanumerici, 4-20 caratteriABC12345, SKU001
standardTre gruppi separati da trattiniABC-12345-XYZ
simple2-4 lettere + 4-8 numeriAB1234, PROD12345678

Esempi:

// Formato generico (default)
ValidationService.validate('PROD_12345', 'sku')       // valido
ValidationService.validate('ABC-XYZ-001', 'sku')      // valido
ValidationService.validate('P1', 'sku')               // non valido: troppo corto

// Formato alphanumeric
ValidationService.validate('ABC123XYZ', 'sku:alphanumeric')   // valido
ValidationService.validate('SKU-001', 'sku:alphanumeric')     // non valido: trattino

// Formato standard
ValidationService.validate('ABC-12345-XYZ', 'sku:standard')  // valido
ValidationService.validate('ABC12345XYZ', 'sku:standard')    // non valido: mancano trattini

// Formato simple
ValidationService.validate('AB12345678', 'sku:simple')        // valido (2 lettere + 8 numeri)
ValidationService.validate('PROD1234', 'sku:simple')          // valido (4 lettere + 4 numeri)
ValidationService.validate('A12345', 'sku:simple')            // non valido: solo 1 lettera

// In schema DynamicFormLayouts
{ name: 'sku', type: 'text', validation: 'required|sku:standard' }