Hoteis Salinas
Minhas reservas
Toque para fechar
Hoteis Salinas
Hoteis Salinas
Escolha suas Atividades
Carrinho
Dados de Pagamento

Seu carrinho está vazio

Para inserir itens no seu carrinho, navegue pelo site ou utilize nossa busca.

Ao encontrar as atividades desejadas, clique no botão "Adicionar".

Escolher atividades

Total de taxas: {{TaxasTotal | numberFormat}}
Total ({{cartItemsTotal}} {{cartItemsTotal > 1 ? 'itens' : 'item'}}): {{cartTotal | numberFormat}}
Economizoou: {{cartDiscount | numberFormat}}
Total de taxas: {{TaxasTotal | numberFormat}}
Total ({{cartItemsTotal}} {{cartItemsTotal > 1 ? 'itens' : 'item'}}): {{cartTotal | numberFormat}}
Economizou: {{cartDiscount | numberFormat}}

Adicione também

Adicione também

Utilizamos cookies para que você tenha a melhor experiência em nosso site. Para saber mais acesse nossa página de Política de Privacidade
document.addEventListener('DOMContentLoaded', function() { // 1. Seleciona o campo pelo ID fornecido no seu HTML const inputReserva = document.getElementById('field_numero-da-reserva-no-resort'); // 2. Define a Regra da Regex const regexReserva = /^RES\d{6}-\d{4}$/i; if (inputReserva) { // ========================================== // AÇÃO 1: MÁSCARA EM TEMPO REAL (UX) // ========================================== inputReserva.addEventListener('input', function(e) { // Força tudo para maiúsculo imediatamente let valor = e.target.value.toUpperCase(); // Se o usuário tentar apagar o "RES", mantemos o padrão // Permite digitar apenas os números e o código formata sozinho if (valor.length > 0 && !valor.startsWith('RES')) { let apenasNumeros = valor.replace(/\D/g, ''); if (apenasNumeros.length > 0) { valor = 'RES' + apenasNumeros; } } // Adiciona o hífen automaticamente após os 6 números // Captura o padrão RES + 6 números ($1) e o número seguinte ($2) valor = valor.replace(/^(RES\d{6})(\d)/, '$1-$2'); // Limita o tamanho máximo do campo para 15 caracteres (RES + 6 num + hífen + 4 num) e.target.value = valor.substring(0, 15); }); // ========================================== // AÇÃO 2: VALIDAÇÃO FINAL AO SAIR DO CAMPO // ========================================== inputReserva.addEventListener('blur', function(e) { const valorFinal = e.target.value.trim(); // Só valida se o campo não estiver vazio (o "required" do HTML já cuida do vazio) if (valorFinal !== '') { if (!regexReserva.test(valorFinal)) { // Feedback de Erro e.target.style.borderColor = '#dc3545'; // Borda vermelha e.target.style.boxShadow = '0 0 0 0.2rem rgba(220,53,69,.25)'; // Alerta nativo (pode ser substituído por uma mensagem na interface da sua página) alert('⚠️ O formato da reserva está inválido. Por favor, utilize o padrão: RESXXXXXX-XXXX (Ex: RES273569-9098)'); // Opcional: Limpa o campo para forçar redigitação // e.target.value = ''; } else { // Feedback de Sucesso e.target.style.borderColor = '#28a745'; // Borda verde e.target.style.boxShadow = 'none'; } } }); } });