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
- Cole ou digite o seu YAML na caixa de entrada. Nada é executado enquanto você digita.
- Aperte “Validar”.
- 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.
- 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.
- 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.