JS Module

Validação Y2Valid

Validação de formulários via atributos HTML — sem configuração JS, live feedback, mensagens automáticas e suporte a regras customizadas.

1. Demo ao Vivo

Preencha o formulário para ver a validação em tempo real. O submit só passa se todos os campos estiverem válidos.

2. Regras Disponíveis

Regras são atributoss y2valid-* aplicados direto no <input>. Podem ser combinadas livremente no mesmo campo.

Atributo Valida Exemplo
y2valid-req Campo obrigatório (não vazio) y2valid-req
y2valid-email Formato de e-mail válido y2valid-email
y2valid-url URL iniciada com https:// y2valid-url
y2valid-min Valor numérico mínimo y2valid-min="18"
y2valid-max Valor numérico máximo y2valid-max="120"
y2valid-minlen Mínimo de caracteres y2valid-minlen="6"
y2valid-maxlen Máximo de caracteres y2valid-maxlen="200"
y2valid-match Valor idêntico ao campo alvo y2valid-match="#senha"
y2valid-regex Expressão regular y2valid-regex="^\d{5}-?\d{3}$"
y2valid-custom Função global customizada y2valid-custom="validarCPF"

3. Validação no Submit

Por padrão o Y2Valid valida em tempo real (a cada digitação e blur). Use y2valid-live="false" para validar apenas ao submeter.

4. Regra Customizada

Registre funções de validação globais com Y2Valid.addRule(). A função recebe o valor e retorna true (válido) ou uma string com o erro.

// Registra a regra "cpf"
Y2Valid.addRule('cpf', function (value) {
  if (!value) return true; // campo vazio → outra regra cuida (req)
  return validarCPF(value) || 'CPF inválido.';
});

5. API JavaScript

// Validar um formulário manualmente (retorna true/false)
const ok = Y2Valid.check(document.querySelector('#meuForm'));

// Limpar todos os estados visuais
Y2Valid.reset(document.querySelector('#meuForm'));

// Registrar regra customizada
Y2Valid.addRule('nome-da-regra', (value) => {
  return minhaVerificacao(value) || 'Mensagem de erro.';
});

// Eventos disparados no 
form.addEventListener('yd:valid:valid', () => { console.log('tudo certo!'); }); form.addEventListener('yd:valid:invalid', e => { console.log(e.detail.errors); // { nomeCampo: 'mensagem', ... } });

Quick Reference

Atributo / Classe / API Elemento Descrição
y2valid form Ativa a validação no formulário
y2valid-live="false" form Valida apenas no submit (padrão: live)
.y2valid-grp div Wrapper que agrupa input + mensagem de erro
.y2valid-msg span Exibe a mensagem de erro — aparece automaticamente
.is-err — .is-ok input Adicionados automaticamente ao campo após validação
Y2Valid.check(form) Valida todos os campos e retorna true/false
Y2Valid.reset(form) Limpa todos os estados visuais do formulário
Y2Valid.addRule(name, fn) Registra regra customizada global
yd:valid:valid evento (form) Disparado quando o submit passa
yd:valid:invalid evento (form) Disparado quando falha — detail.errors lista os erros