Ir para o conteúdo principal

Validador YAML (YAML Validator)

Execute Validar para ver o veredito aqui.

Verifique se o seu YAML é válido e veja onde ele falha.

O que ela faz

O YAML Validator verifica se o seu texto é um YAML válido e, quando não é, mostra onde está o problema. Ele lê YAML segundo as regras do YAML 1.2 Core, como um documento ou vários separados por ---, e responde com um veredito. Quando o texto é válido e o YAML Formatter consegue formatá-lo, o resultado também o mostra formatado, todos os documentos incluídos, com o mesmo layout que o YAML Formatter dá com “2 espaços” selecionado.

Use antes de enviar um YAML a um programa, a um pipeline ou a um arquivo de configuração que o recusaria.

O que ela aceita

  • YAML lido segundo as regras do YAML 1.2 Core, como um documento ou vários separados por ---: texto simples, entre aspas e de várias linhas, números, true, false, null, listas, mapeamentos, comentários, âncoras e aliases.
  • Com vários documentos, o veredito é válido só quando todos os documentos são válidos. A linha e a coluna de um problema são contadas desde o início do texto todo.
  • As âncoras (&nome) e os aliases (*nome) são verificados, mas nunca expandidos. Um alias sem âncora, um alias que vem antes da sua âncora e um alias que aponta para uma âncora de outro documento são erros.
  • Uma chave repetida no mesmo mapeamento é um erro.
  • Só um problema é informado: o mais próximo do início do texto. Corrija-o e valide de novo para achar o próximo.
  • Alguns textos YAML são válidos, mas ficam fora do que o YAML Formatter e o Viewer suportam: uma tag que não é uma tag padrão do YAML, uma chave que não é texto (um número, true, false, null, uma chave vazia ou uma chave escrita como lista ou mapeamento) e uma diretiva como %YAML ou %TAG. O veredito é válido, e um aviso diz que o Formatter e o Viewer não conseguem processá-lo. Só o veredito é mostrado, sem texto formatado.
  • A chave de mesclagem << não faz parte do YAML 1.2 Core. Ela é lida como uma chave comum, com um aviso.

Bom saber

  • Válido significa que o texto é um YAML válido. O validador não verifica se os dados têm as chaves ou os valores que o seu programa espera.
  • Ele nunca corrige o YAML. Não há correções automáticas e o seu texto nunca é alterado: a mensagem diz o que corrigir, e você mesmo faz a mudança.
  • Um texto só com comentários ou linhas em branco não tem nada para validar, então você recebe um aviso pedindo conteúdo, não um veredito.
  • Uma diretiva como %YAML 1.1 é apenas informada como aviso: o documento continua sendo lido pelas regras do YAML 1.2 Core, seja qual for a diretiva. Programas que seguem as regras mais antigas do YAML 1.1 podem ler alguns textos de forma diferente, por exemplo quando aplicam chaves de mesclagem.
  • O texto formatado sempre usa 2 espaços: não há opção de indentação nem árvore. Um texto que não é válido recebe apenas o veredito. O mesmo vale para um texto válido que o YAML Formatter se recusa a formatar, como um com uma tag que não é uma tag padrão do YAML, e para um texto válido cuja versão formatada passaria de 2.000.000 bytes. Nesses casos, não há nada para copiar ou baixar.
  • Um YAML aninhado além do limite é recusado por passar do que a ferramenta processa. Ele não é chamado de inválido.

Como usar

  1. Cole ou digite o seu YAML na caixa de entrada. Nada é executado enquanto você digita.
  2. Aperte “Validar”.
  3. Leia o veredito. “O YAML é válido.” significa que o texto é um YAML válido. “O YAML não é válido.” vem acompanhado do problema mais próximo do início do texto, da sua linha e coluna e do trecho destacado no seu texto. Os avisos, se houver, aparecem listados abaixo do veredito.
  4. Quando o veredito é válido e o texto formatado aparece, aperte “Copiar” para colocá-lo na área de transferência ou “Baixar” para salvá-lo como formatted.yaml.
  5. Corrija o problema no seu texto e aperte “Validar” de novo. Editar o texto limpa o veredito antigo, então um veredito na tela sempre corresponde ao que você validou.

Exemplos

Um texto válido

Cole este texto e aperte “Validar”. Ele segue as regras do YAML, então o veredito é “O YAML é válido.” Na ferramenta, o resultado também mostra o texto formatado.

name: demo
items:
  - one
  - two

O YAML é válido.

Uma chave repetida

A chave “name” aparece duas vezes no mesmo mapeamento, e o YAML exige que as chaves de um mapeamento sejam únicas. O veredito é “O YAML não é válido.”, seguido da linha e coluna da repetição, que também fica destacada no seu texto.

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

O YAML não é válido.

Uma chave se repete no mesmo mapeamento. O YAML exige que as chaves de um mapeamento sejam únicas. Remova ou renomeie a chave repetida.

Linha 2, coluna 1

Válido, com um aviso

A tag !money não é uma das tags padrão do YAML. A sintaxe é válida, então o veredito é válido, mas um aviso informa que o YAML Formatter e o Viewer não conseguem processar este texto, então só o veredito é mostrado, sem texto formatado. A tag em si nunca é executada nem consultada.

price: !money 12.50

O YAML é válido.

A sintaxe é válida, mas este YAML usa uma tag que esta ferramenta não suporta: uma tag personalizada ou fora do Core, ou uma tag do Core (como !!int) que não combina com o valor. O YAML Formatter e o Viewer não conseguem processá-lo.

Uma chave de mesclagem

Algumas ferramentas YAML leem << como uma chave de mesclagem, que copia as chaves de uma âncora para um mapeamento. O YAML Validator segue as regras do YAML 1.2 Core, que não têm chaves de mesclagem, então << é uma chave comum e nada é mesclado. O veredito é válido, com um aviso porque programas que aplicam a mesclagem do YAML 1.1 podem ler este texto de forma diferente.

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

O YAML é válido.

Este YAML usa << como uma chave comum. Esta ferramenta segue o esquema YAML 1.2 Core, que não tem chaves de mesclagem, então nada é mesclado. Programas que aplicam a mesclagem do YAML 1.1 podem lê-lo de forma diferente.

Limites e privacidade

Limites de tamanho

  • Entrada: até 2.000.000 bytes de texto em UTF-8 (cerca de 2 MB). Letras acentuadas e emojis ocupam mais de um byte cada. Uma entrada maior é recusada.
  • Aninhamento: até 256 níveis de mapeamentos e listas dentro uns dos outros. Um YAML mais profundo é recusado porque passa do que a ferramenta processa.
  • Tempo: uma execução que demora mais que o seu limite de tempo é interrompida. Tente uma entrada menor.

Sua privacidade

O texto que você digita ou cola, ou abre de um arquivo local, é processado localmente no seu navegador, em um Web Worker dedicado. Ele nunca é enviado para o servidor (um arquivo que você abre é lido apenas no seu navegador) e não é gravado em armazenamento, cookies nem na barra de endereços.

“Copiar” coloca o resultado na área de transferência e “Baixar” o salva como arquivo, mas só quando você aperta o botão. O arquivo é criado no seu navegador, então nada é enviado.

Para ver os detalhes completos, consulte a Política de Privacidade

Ferramentas e páginas relacionadas

O seu texto continua na página quando você troca de ferramenta na mesma aba, então dá para testar o mesmo texto em outra. Recarregar ou fechar a aba o encerra.

Todas as ferramentas