InnerFormValidation

Demonstração completa de validação e mascaramento de formulários

1. Validações Básicas

2. Validação e Mascaramento de Caracteres

3. Validação de Comprimento

Digite pelo menos 5 caracteres
Máximo 10 caracteres
Deve ter exatamente 8 caracteres
Ex: Digite "123" e vira "00000123" ao sair do campo

4. Documentos Brasileiros

Detecta automaticamente CPF ou CNPJ
Aceita telefone fixo e celular

5. Data e Hora

Formato cronômetro
Ex: validade de cartão
Intervalo de datas
Intervalo de mês/ano
Intervalo mês/ano (2 dígitos)

6. Validações de Idade e Comparação

Deve ser maior de idade
Apenas datas passadas
Apenas datas futuras

7. Validação de Senhas

Deve conter: maiúscula, minúscula, número e símbolo
Deve ser idêntica à senha anterior

8. Cartões de Crédito

Apenas cartões Visa são aceitos

9. Validações Avançadas de Conteúdo

Deve ter pelo menos um espaço
Deve conter A, B e C
Não pode conter X, Y ou Z

10. Autocompletar Endereços (ViaCEP)

Digite para buscar endereço

O endereço completo aparecerá aqui após inserir o CEP...

11. Sistema de Callbacks

12. Validações Especiais

Valida dígito verificador do código EAN
Deve ser exatamente "ADMIN"
As duas senhas devem ser idênticas

13. Teste da Função expandYear

Ex: 23, 05, 2023, 1995
Quantos anos antes do ano atual considerar como século atual (padrão: início do século)
Quantos anos após o ano atual considerar como século atual (padrão: até 5 anos no futuro)
Digite um ano para ver o resultado
Ano expandido pela função
💡 Como funciona a função ExpandYear:

A função expandYear converte anos de 2 e 3 dígitos em anos de 4 dígitos baseado no ano atual e no periodo configurado:

  • Ano atual:
  • Século atual:
  • Lógica: Se o ano expandido estiver fora do range de (anoAtual - limiteAnterior) até (anoAtual + limiteFuturo), ele é ajustado para o século anterior.

Exemplo: Se o ano atual é 2025, limiteAnterior é 25 e limiteFuturo é 5:

  • Ano 23 vira 2023
  • Ano 95 vira 1995
  • Ano 5 vira 2005
  • Ano 50 vira 2050
  • Ano 123 vira 1123
  • Ano 2021 mantém 2021

Personalização do CSS

🚀 Utilize o CSS abaixo para ajustar visualmente seu formulário automaticamente:
                                    
        /* Estados de Validação */
        .success {
            border-color: #28a745 !important;        
        }

        .error {
            border-color: #dc3545 !important;    
            animation: shake 0.5s;
        }

        @keyframes shake {

            0%,
            100% {
                transform: translateX(0);
            }

            25% {
                transform: translateX(-5px);
            }

            75% {
                transform: translateX(5px);
            }
        }

        .has-error .form-control {
            border-color: #dc3545;
        }

        /* Indicadores de força da senha */  
        [data-pwstrength="4"] {
             border-left: 5px solid #28a745; /* Verde - Forte */
        }

        [data-pwstrength="3"] {
            border-left: 5px solid #ffc107; /* Amarelo - Média */
        }

        [data-pwstrength="2"],
        [data-pwstrength="1"] {
            border-left: 5px solid #dc3545; /* Vermelho - Fraca */
        }            

        [data-pwstrength="4"]::after {
            content: "💪 Senha Forte";
            color: #28a745;
            font-weight: bold;
        }
        

        [data-pwstrength="3"]::after {
            content: "👍 Senha Média";
            color: #ffc107;
            font-weight: bold;
        }

        [data-pwstrength="2"]::after,
        [data-pwstrength="1"]::after {
            content: "⚠️ Senha Fraca";
            color: #dc3545;
            font-weight: bold;
        }

        [data-pwstrength="0"]::after {
            content: "❌ Muito Fraca";
            color: #dc3545;
            font-weight: bold;
        }

        /* Indicador de bandeira do cartão */
      

        [data-flagcard="visa"]::after {
            content: "💳 Visa";
            color: #1a1f71;
        }

        [data-flagcard="mastercard"]::after {
            content: "💳 Mastercard";
            color: #eb001b;
        }

        [data-flagcard="amex"]::after {
            content: "💳 American Express";
            color: #006fcf;
        }

        [data-flagcard="elo"]::after {
            content: "💳 Elo";
            color: #ffcb05;
        }
                                    
                                

Informações Adicionais

🚀 Como usar esta biblioteca:
  • 1. Adicione a classe validate ao formulário
  • 2. Adicione classes de validação aos campos (ex: obg, email, cpf)
  • 3. Adicione mask junto com a validação para aplicar máscara
  • 4. Use onkeyup para validar em tempo real
  • 5. Configure callbacks com atributos data-*
Classes mais usadas: obg mask email cpf cnpj date tel onkeyup