Skip to main content

Fugir do regex de validação

Fugir do regex de validação
Bruno_Gabriel

Oi pessoal!

Em alguns casos vejo que as pessaos ficam presas em determinado fluxo, pois há algum tipo de validação do input do usuário, exemplo abaixo:

Tem como fugir disso? Tentei colocar como primeiro a condição “Voltar”, porém sem sucesso.

@GabrielPetrone, help me.

Este tópico foi fechado para respostas.

10 comentários

Rafael_dos_Anjos

@Bruno_Gabriel boa pergunta, também estou passando por isso.

Varinha de condão, dente de leão, oremos para que o @GabrielPetrone tenha uma solução. 🔮 🧙‍♂


GabrielPetrone
Blipper
Forum|alt.badge.img+1

Fala pessoal, de fato eu precisei fazer algo pra resolver isso recentemente.

O Regex na Validação de resposta nos deixa muito limitados mesmo, por isso eu recomendo que na maioria das vezes, faça a validação através de um script. Então pra este caso, o que eu faria:

1 - Através de um script nas Ações de Saída do bloco, eu iria validar o input.content do cliente pra ver se ele digitou um CPF válido, retornando uma varíavel com a resposta true ou false (segue uma referência → Identificar CPF ou CNPJ - #3 por Adriano_tsi)
2 - Nas Condições de Saída eu iria colocar 3 validações:
2.1 - Se resposta do usuário for igual à voltardirecionar para o bloco menu
2.2 - Se variável validaCPF for igual à truedirecionar para o bloco próximoBloco
2.3 - Se variável validaCPF for igual à falsedirecionar para o bloco solicitarCPF

Algo mais ou menos assim, sabem?

Certamente podem surgir muitas soluções para isso, e também quero ouví-las, por isso to marcando a @fadoaglauss aqui.


Rodrigo_Valentim

Quando existe essa opção de bloquear a saída do usuário via regra, geralmente, incluo um contador de erros e se chegar na quantidade X, direciono ele para um outro menu informando que não está sendo possível validar o CPF ou algo do genero.


GabrielPetrone
Blipper
Forum|alt.badge.img+1

É uma boa né @Rodrigo_Valentim , eu faço isso as vezes. Eu faço 2 verificações, na terceira eu deixo o cliente passar, haha… e você?


Rodrigo_Valentim

Isso aí ! volto ele pro menu principal já que não sabe digitar um CPF válido


Bruno_Gabriel
  • Autor
  • Inspiring
  • August 19, 2021

Pessoal,

Como vocês fazem essa contagem de erros para direcionar para outro bloco?


Adriano_tsi
Forum|alt.badge.img+1
  • Solver
  • August 20, 2021

Opa, tudo bom pessoal?! Vou tentar contribuir aqui também :partyparrot:

@Bruno_Gabriel para contagem de erros você pode adicionar algum script simples pra somar +1 sempre que o script de validação do CPF/CNPJ retornar false, por exemplo:

function run(validCpfCnpj, errorCount) {
    //Inicia contador se não existir
    if(errorCount == null){
        errorCount = 0
    }
    //Add + 1
    if(validCpfCnpj != "true"){
        parseInt(errorCount)    
        return ++errorCount
    }

    //Zera contador se input for válido
    if(validCpfCnpj == "true"){
        errorCount = 0
        return errorCount
    }
  
}

Bruno_Gabriel
  • Autor
  • Inspiring
  • August 21, 2021

Fiz aqui e funcionou!

Useu o script que o @GabrielPetrone passou. Por acaso vocês tem um script de validação de e-mail?


Adriano_tsi
Forum|alt.badge.img+1
  • Solver
  • August 21, 2021

@Bruno_Gabriel aqui está um exemplo de validação de e-mail:

function run(email) {
    const regex = /((([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,})))/gm;
    const validEmail = regex.test(email)
    return validEmail;
}

Olá, @Adriano_tsi tudo bem? Você teria um script de validação para mídia? (ex: imagem, pdf).