Migrar des de validator.js
validator.js valida molts tipus de cadenes, i té dues funcions per a identificadors espanyols: isIdentityCard(x, "ES") i isTaxID(x, "es-ES"). Si el que necessiteu són identificadors espanyols, aquesta biblioteca els comprova de manera més completa i hi afegeix el CIF, la normalització i el motiu de cada error. També podeu mantenir validator.js per a tota la resta i fer servir aquesta biblioteca només per als NIF. La comparació d’aquesta pàgina és amb validator.js 13.15.35.
Equivalència de funcions
Secció titulada «Equivalència de funcions»| validator.js | nif-dni-nie-cif-validation | Notes |
|---|---|---|
isIdentityCard(x, "ES") |
isValidNaturalPersonNif(x) |
validator.js accepta un DNI o un NIE; aquesta també accepta els NIF K/L/M i la forma antiga del NIE |
isTaxID(x, "es-ES") |
isValidNaturalPersonNif(x) |
validator.js accepta un DNI, un NIF K/L/M o un NIE; aquesta també accepta la forma antiga del NIE |
| Sense validació de CIF | isValidCif(x), o isValidNif(x) per a tots els tipus |
Abans i després
Secció titulada «Abans i després»Abans, amb validator.js:
import validator from "validator";
validator.isIdentityCard("12345678Z", "ES"); // truevalidator.isIdentityCard("X1234567L", "ES"); // truevalidator.isTaxID("K1234567L", "es-ES"); // truevalidator.isTaxID("B12345674", "es-ES"); // false: no admet CIFDesprés:
import { isValidCif, isValidNaturalPersonNif, isValidNif } from "nif-dni-nie-cif-validation";
isValidNaturalPersonNif("12345678Z"); // trueisValidNaturalPersonNif("X1234567L"); // trueisValidNaturalPersonNif("K1234567L"); // trueisValidCif("B12345674"); // trueisValidNif("B12345674"); // true: qualsevol tipusAmb una biblioteca de formularis, els esquemes per a Zod, Valibot i Yup substitueixen un refine personalitzat que crida validator.js, i a més donen el missatge.
Diferències de comportament
Secció titulada «Diferències de comportament»Valors que no són cadenes. validator.js llança un TypeError amb qualsevol cosa que no sigui una cadena, com null o un número. Aquesta biblioteca retorna false, i validate() retorna el codi NOT_A_STRING (INPUT-1), de manera que li podeu passar el valor d’un formulari tal com és.
import validator from "validator";
validator.isIdentityCard(null, "ES"); // throws TypeErrorimport { isValidNaturalPersonNif, validate } from "nif-dni-nie-cif-validation";
isValidNaturalPersonNif(null); // falsevalidate(null).error?.code; // "NOT_A_STRING"Separadors. Totes dues biblioteques accepten minúscules. validator.js rebutja espais, punts i guions; aquesta biblioteca els treu (NORM-2, NORM-3) i dona la forma canònica que heu de desar.
La forma antiga del NIE. validator.js rebutja els NIE de 10 caràcters, com X01234567L; continuen sent vàlids (NIE-3).
NIF K/L/M. isIdentityCard(x, "ES") els rebutja, i isTaxID(x, "es-ES") els accepta. Aquesta biblioteca els accepta com a NIF de persones físiques (KLM-1).
import validator from "validator";
validator.isIdentityCard("12.345.678-Z", "ES"); // falsevalidator.isTaxID("X01234567L", "es-ES"); // falsevalidator.isIdentityCard("K1234567L", "ES"); // falseimport { isValidNaturalPersonNif, validate } from "nif-dni-nie-cif-validation";
isValidNaturalPersonNif("12.345.678-Z"); // truevalidate("12.345.678-Z").normalized; // "12345678Z"isValidNaturalPersonNif("X01234567L"); // trueisValidNaturalPersonNif("K1234567L"); // trueMida del bundle. Una funció de validator.js inclou les regles de tots els països que admet, de manera que isIdentityCard i isTaxID ocupen diverses vegades el que ocupa isValidNif. La pàgina de rendiment té les xifres mesurades.