Menú

Números sin dígito verificador: solo formato

No todos los identificadores publican un algoritmo de control: algunos son números de registro asignados por orden de alta. Explicamos qué se puede comprobar en esos casos y por qué solo formato es una respuesta completa.

Publicado el

  • solo formato
  • identificadores
  • comprobación

Existe una familia de identificadores que se comporta de forma muy distinta a la de los números con control aritmético, y que suele recibir un trato injusto en los formularios. Son cadenas cuya forma está perfectamente definida pero que no llevan ningún dígito calculado a partir del resto, porque nacieron como números de registro asignados por orden de alta. Tratarlas como si tuvieran control produce rechazos absurdos; ignorarlas por completo desperdicia la única comprobación que sí es posible.

¿Qué números no tienen dígito verificador publicado?

Son aquellos cuya autoridad emisora describe la forma pero nunca publicó una fórmula de control. Suelen tener longitudes fijas, un juego de caracteres restringido y un reparto de tramos conocido, y sin embargo su última posición no se puede recalcular a partir de las anteriores.

La razón de fondo es histórica. Muchos de estos identificadores nacieron como simples números de serie: se asignaban en orden de inscripción y su función era distinguir un registro de otro, no detectar errores de transcripción. Cuando se diseñaron, la comprobación automática no era una necesidad y nadie vio motivo para reservar una posición a un control.

Hoy la situación es la misma en muchos casos, aunque el número circule por sistemas que sí esperarían un control. Y aquí aparece el problema: la ausencia de control no se anuncia en ninguna parte de la cadena, así que solo se descubre consultando la documentación del esquema.

Por qué algunos códigos no admiten comprobación por algoritmo

Hay tres motivos que se repiten una y otra vez.

  • El identificador es un contador. Se asigna el siguiente número libre y no hay ninguna aritmética que garantice coherencia interna.
  • La fórmula existe pero no es pública. La administración la usa para emitir y no la ha documentado, y sin documentación no hay comprobación posible fuera de sus sistemas.
  • La estructura ha cambiado con los años. Conviven varios formatos históricos y no hay una única regla que describa todos los números en circulación.

En los tres casos, la conclusión operativa es la misma: lo único comprobable es la forma. Y eso no es un fracaso del validador, sino una descripción exacta de lo que la fuente pública permite afirmar.

Qué significa exactamente «solo formato»

Significa que se ha confirmado que la cadena usa los caracteres admitidos, que tiene la longitud prevista y que su reparto en tramos encaja con lo publicado. Nada más. No se ha verificado ninguna coherencia aritmética, porque no hay ninguna que verificar.

Es importante no confundir esta conclusión con las otras dos que podrían tentar. No es válido, porque no se ha comprobado ningún control. Y no es inválido, porque la cadena no ha fallado ninguna regla; simplemente no había regla que aplicar.

Este matiz es el que más cuesta explicar en una interfaz, y también el que más consecuencias tiene. Un sistema que traduzca solo formato a un mensaje de error rojo perderá usuarios legítimos todos los días, y el equipo pensará que el problema está en los datos de entrada cuando en realidad está en el mensaje.

¿Cómo se comprueba un número que solo tiene formato?

La comprobación se reduce a una secuencia de filtros que no necesitan aritmética.

  1. Normalizar la entrada retirando separadores y unificando mayúsculas y minúsculas.
  2. Verificar que todos los caracteres pertenezcan al alfabeto admitido por el esquema.
  3. Verificar que la longitud, si está publicada, coincida con la esperada.
  4. Comprobar que los tramos encajen con la estructura documentada, cuando esa estructura se conoce.

Ninguno de estos pasos requiere conexión ni consulta externa, y todos son baratos. Su valor conjunto es considerable: eliminan errores de tecleo evidentes y bloquean entradas que ni siquiera podrían existir.

Lo que no pueden hacer es detectar un carácter cambiado por otro dentro del mismo alfabeto. Para eso hace falta un control, y si no existe, no hay forma de suplirlo sin consultar el registro de origen.

Dónde sigue aportando valor la validación de formato

Aunque parezca poca cosa, la comprobación de forma resuelve una parte muy grande del trabajo real.

  • Atrapa los errores de longitud, que son los más frecuentes al copiar un número de un documento.
  • Detecta caracteres imposibles, como una letra donde el esquema solo admite cifras.
  • Permite aplicar máscaras y ayudas de escritura coherentes con la forma esperada.
  • Evita que entren en la base cadenas de longitud absurda que luego rompen informes.
  • Da una respuesta rápida al usuario sin depender de ningún servicio externo.

En un flujo de comprobación por capas, este es justamente el nivel intermedio descrito en la guía sobre cómo funciona la validación de números. Su papel no es sustituir a las demás capas, sino hacer su trabajo antes de que las otras se activen.

Para quien programa: cuatro resultados y su redacción

El diseño técnico más útil consiste en devolver un estado con cuatro valores posibles en lugar de un valor de sí o no, y en redactar cada uno con precisión.

  • Válido: el control se ha recalculado y coincide.
  • No válido: la forma encaja pero el control no cuadra.
  • Solo formato: se ha confirmado la forma y no existe control que comprobar.
  • Sin regla: no hay ningún esquema conocido que se aplique a esta entrada.

La redacción de los mensajes es tan importante como el cálculo. Un texto que diga que el número es falso porque no hay regla disponible está faltando a la verdad; el mensaje correcto explica que no se dispone de regla para esa entrada y que eso no implica nada sobre su autenticidad.

Cuando la comprobación se hace en el servidor, estos cuatro estados tienen que llegar intactos al cliente, sin que nadie los reduzca a un booleano por el camino. La guía sobre validación en la API trata ese transporte y sus consecuencias.

Si el esquema del que sospechas que no lleva control resulta ser un código postal, conviene repasar antes el artículo sobre direcciones de prueba y códigos postales que no coinciden, porque la confusión entre forma y existencia aparece allí en su versión más cotidiana.

Siguientes pasos

Haz una lista de los identificadores que maneja tu sistema y marca cuáles publican control y cuáles no. Solo con ese inventario ya se puede redactar los mensajes correctos para cada caso.

Después, pasa por el validador de números una cadena de cada grupo, incluida una bien formada pero sin control, y comprueba que la conclusión no es la misma en todos los casos.

Sobre los ejemplos de esta página: todas las cadenas mencionadas se eligieron para ilustrar la diferencia entre comprobar forma y comprobar control; no corresponden a registros reales ni a ninguna persona, y no deben tomarse como válidas para ningún uso administrativo.

Seguir leyendo

Artículos sobre Validador de DNI