/** * JavaScript simples para validações básicas * Usando jQuery para facilitar manutenção */ $(document).ready(function() { // Máscara para WhatsApp (apenas números) $('#whatsapp').on('input', function() { // Remove tudo que não é número var value = this.value.replace(/\D/g, ''); // Limita a 11 dígitos if (value.length > 11) { value = value.substring(0, 11); } this.value = value; }); // Removido: validação de senha para formulários de login/cadastro do checkout (agora só há botões) // Remove classe de erro quando usuário começa a digitar $('.form-control').on('input', function() { if ($(this).val()) { $(this).removeClass('is-invalid'); } }); // Auto-dismiss de alertas após 5 segundos $('.alert-dismissible').each(function() { var alert = $(this); setTimeout(function() { alert.fadeOut(500); }, 5000); }); // Validação específica para formulário de nova senha $('#novaSenhaForm').on('submit', function(e) { var senha = $('#senha_nova').val(); var confirmar = $('#senha_nova2').val(); var isValid = true; // Remover feedbacks anteriores $('.invalid-feedback').remove(); $('.form-control').removeClass('is-invalid'); // Validar senha if (senha.length < 6) { e.preventDefault(); $('#senha_nova').addClass('is-invalid'); $('#senha_nova').after('
A senha deve ter pelo menos 6 caracteres.
'); $('#senha_nova').focus(); isValid = false; } // Verifica se as senhas coincidem if (senha !== confirmar) { e.preventDefault(); $('#senha_nova2').addClass('is-invalid'); if (!$('#senha_nova2').siblings('.invalid-feedback').length) { $('#senha_nova2').after('
As senhas não coincidem.
'); } $('#senha_nova2').focus(); isValid = false; } if (!isValid) { e.preventDefault(); } }); // Fade-out automático para alertas PHP Bootstrap var alert = $('#feedback-alert'); if (alert.length && alert.hasClass('show') && alert.is(':visible')) { setTimeout(function() { alert.alert('close'); }, 4000); } });