Saltar al contenido principal

Validador YAML (YAML Validator)

Ejecuta Validar para ver el veredicto aquí.

Comprueba si tu YAML es válido y descubre dónde falla.

Qué hace

YAML Validator comprueba si tu texto es un YAML válido y, cuando no lo es, muestra dónde está el problema. Lee YAML según las reglas de YAML 1.2 Core, como un documento o varios separados por ---, y responde con un veredicto. Cuando el texto es válido y YAML Formatter puede formatearlo, el resultado también lo muestra formateado, incluidos todos los documentos, con el mismo diseño que da YAML Formatter con «2 espacios» seleccionado.

Úsalo antes de enviar un YAML a un programa, a un pipeline o a un archivo de configuración que lo rechazaría.

Qué admite

  • YAML leído según las reglas de YAML 1.2 Core, como un documento o varios separados por ---: texto simple, entrecomillado y de varias líneas, números, true, false, null, listas, mapas, comentarios, anclas y alias.
  • Con varios documentos, el veredicto es válido solo cuando todos los documentos son válidos. La línea y la columna de un problema se cuentan desde el principio de todo el texto.
  • Las anclas (&nombre) y los alias (*nombre) se comprueban, pero nunca se expanden. Un alias sin ancla, un alias que aparece antes que su ancla y un alias que apunta a un ancla de otro documento son errores.
  • Una clave repetida en el mismo mapa es un error.
  • Solo se informa de un problema: el más cercano al principio del texto. Corrígelo y valida de nuevo para encontrar el siguiente.
  • Algunos textos YAML son válidos pero quedan fuera de lo que admiten el YAML Formatter y el Viewer: una etiqueta que no es una etiqueta estándar de YAML, una clave que no es texto (un número, true, false, null, una clave vacía o una clave escrita como lista o mapa) y una directiva como %YAML o %TAG. El veredicto es válido, y un aviso dice que el Formatter y el Viewer no pueden procesarlo. Solo se muestra el veredicto, sin texto formateado.
  • La clave de fusión << no forma parte de YAML 1.2 Core. Se lee como una clave normal, con un aviso.

Conviene saber

  • Válido significa que el texto es un YAML válido. El validador no comprueba que los datos tengan las claves o los valores que espera tu programa.
  • Nunca repara el YAML. No hay correcciones automáticas y tu texto nunca se modifica: el mensaje indica qué corregir, y el cambio lo haces tú.
  • Un texto con solo comentarios o líneas en blanco no tiene nada que validar, así que recibes un aviso que pide contenido, no un veredicto.
  • Una directiva como %YAML 1.1 solo se informa como aviso: el documento se sigue leyendo con las reglas de YAML 1.2 Core, diga lo que diga la directiva. Los programas que siguen las reglas más antiguas de YAML 1.1 pueden leer algunos textos de otra forma, por ejemplo cuando aplican claves de fusión.
  • El texto formateado siempre usa 2 espacios: no hay opción de sangría ni árbol. Un texto que no es válido recibe solo el veredicto. Lo mismo ocurre con un texto válido que YAML Formatter se niega a formatear, como uno con una etiqueta que no es una etiqueta estándar de YAML, y con un texto válido cuya versión formateada superaría los 2.000.000 bytes. En esos casos no hay nada que copiar ni descargar.
  • Un YAML anidado más allá del límite se rechaza por superar lo que procesa la herramienta. No se llama inválido.

Cómo usarla

  1. Pega o escribe tu YAML en el cuadro de entrada. No se ejecuta nada mientras escribes.
  2. Pulsa «Validar».
  3. Lee el veredicto. «El YAML es válido.» significa que el texto es un YAML válido. «El YAML no es válido.» viene con el problema más cercano al principio del texto, su línea y columna, y el punto resaltado en tu texto. Los avisos, si los hay, aparecen listados debajo del veredicto.
  4. Cuando el veredicto es válido y aparece el texto formateado, pulsa «Copiar» para ponerlo en el portapapeles o «Descargar» para guardarlo como formatted.yaml.
  5. Corrige el problema en tu texto y pulsa «Validar» de nuevo. Editar el texto borra el veredicto anterior, así que un veredicto en pantalla siempre corresponde a lo que validaste.

Ejemplos

Un texto válido

Pega este texto y pulsa «Validar». Sigue las reglas de YAML, así que el veredicto es «El YAML es válido.» En la herramienta, el resultado también muestra el texto formateado.

name: demo
items:
  - one
  - two

El YAML es válido.

Una clave repetida

La clave «name» aparece dos veces en el mismo mapa, y YAML exige que las claves de un mapa sean únicas. El veredicto es «El YAML no es válido.», seguido de la línea y columna de la repetición, que también queda resaltada en tu texto.

name: demo
name: other
items: [1, 2]

El YAML no es válido.

Una clave se repite en el mismo mapa. YAML exige que las claves de un mapa sean únicas. Elimina o renombra la clave repetida.

Línea 2, columna 1

Válido, con un aviso

La etiqueta !money no es una de las etiquetas estándar de YAML. La sintaxis es válida, así que el veredicto es válido, pero un aviso te indica que el YAML Formatter y el Viewer no pueden procesar este texto, así que solo se muestra el veredicto, sin texto formateado. La etiqueta en sí nunca se ejecuta ni se consulta.

price: !money 12.50

El YAML es válido.

La sintaxis es válida, pero este YAML usa una etiqueta que esta herramienta no admite: una etiqueta personalizada o ajena al Core, o una etiqueta del Core (como !!int) que no encaja con su valor. El YAML Formatter y el Viewer no pueden procesarlo.

Una clave de fusión

Algunas herramientas YAML leen << como una clave de fusión, que copia las claves de un ancla en un mapa. YAML Validator sigue las reglas de YAML 1.2 Core, que no tienen claves de fusión, así que << es una clave normal y no se fusiona nada. El veredicto es válido, con un aviso porque los programas que aplican la fusión de YAML 1.1 pueden leer este texto de otra forma.

defaults: &d
  retries: 3
prod:
  <<: *d
  retries: 5

El YAML es válido.

Este YAML usa << como una clave normal. Esta herramienta sigue el esquema YAML 1.2 Core, que no tiene claves de fusión, así que no se fusiona nada. Los programas que aplican la fusión de YAML 1.1 pueden leerlo de otra forma.

Límites y privacidad

Límites de tamaño

  • Entrada: hasta 2.000.000 bytes de texto en UTF-8 (unos 2 MB). Las letras acentuadas y los emojis ocupan más de un byte cada uno. Una entrada mayor se rechaza.
  • Anidamiento: hasta 256 niveles de mapas y listas dentro de otros. Un YAML más profundo se rechaza porque supera lo que procesa la herramienta.
  • Tiempo: una ejecución que tarda más que su límite de tiempo se detiene. Prueba con una entrada más pequeña.

Tu privacidad

El texto que escribes o pegas, o abres desde un archivo local, se procesa localmente en tu navegador, en un Web Worker dedicado. Nunca se sube ni se envía al servidor (un archivo que abres se lee solo en tu navegador), y no se escribe en el almacenamiento, en cookies ni en la barra de direcciones.

«Copiar» pone el resultado en el portapapeles y «Descargar» lo guarda como archivo, pero solo cuando pulsas el botón. El archivo se crea en tu navegador, así que no se sube nada.

Para conocer todos los detalles, consulta la Política de privacidad

Herramientas y páginas relacionadas

Tu texto se queda en la página cuando cambias de herramienta en la misma pestaña, así que puedes probar el mismo texto en otra. Recargar o cerrar la pestaña lo termina.

Todas las herramientas