Ações concorrentes

Boa tarde galera,
tudo bem?

Na hora de validar um campo fazemos validação por expressão regular, configurando tempo de inatividade como mostra o print.

Porém, ao mesmo tempo, precisamos redirecionar o usuário para outro bloco em caso de inatividade do usuário como mostra o print.!

image (31)|461x378

Notamos que são ações concorrentes, e sempre é executada a ação de validação do campo. Como faremos para, em um mesmo bloco, validar o campo inclusive com tempo de inatividade configurado, e redirecionar o usuário para outro bloco após o tempo de inatividade configurado no bloco seja excedido?

Fico no aguardo de um help.

Um abraço!

Guilherme Corrêa

1 Curtida

Fala Guilherme, é simples, no seu REGEX você precisa por mais uma opção que é: ^$

Dá uma olhada aqui se tiver dúvidas:

1 Curtida

Fala aí Gabriel,
tudo certo amigo?

Aqui estão os dois regex que utilizamos em blocos distintos. Em ambos os casos temos validação de de entrada do usuário por expressão regular e temos condição de saída que gostaríamos que fosse executada caso o tempo de inatividade do usuário for excedida.

primeiro:
^(?(?:[14689][1-9]|2[12478]|3[1234578]|5[1345]|7[134579]))? ?9 ?[1-9][0-9]{3}-?[0-9]{4}$

Segundo:
^(1|2|3|4|5|6)$

1 Curtida

Tenta adicionar aquele REGEX que passei na validação que vai dar bom, acho que é isso:

1º: ^(?(?:[14689][1-9]|2[12478]|3[1234578]|5[1345]|7[134579]))? ?9 ?[1-9][0-9]{3}-?[0-9]{4}|^$

2º: ^(1|2|3|4|5|6)|^$

1 Curtida

Gabriel,
obrigado pelo retorno!

Segue nossos regex e as tuas sugestões:

Valida telefone com DDD
^(?(?:[14689][1-9]|2[12478]|3[1234578]|5[1345]|7[134579]))? ?9 ?[1-9][0-9]{3}-?[0-9]{4}|^ - seu ^(?(?:[14689][1-9]|2[12478]|3[1234578]|5[1345]|7[134579]))? ?9 ?[1-9][0-9]{3}-?[0-9]{4} - nosso

Queremos que valide 1 ou 2 ou 3 ou 4 ou 5 ou 6 apenas

^(1|2|3|4|5|6)|^ - seu ^(1|2|3|4|5|6) - nosso

Site de validação usado nos regex: https://regex101.com/

PS:. note que nossos regex passam na validação, mas acreditamos que a duvida inicial persistes, ou seja: “notamos que são ações concorrentes (quando temos validação do campo via regex e regra de saída para outro bloco), e sempre é executada a ação de validação do campo. Como faremos para, em um mesmo bloco, validar o campo inclusive com tempo de inatividade setado, e redirecionar o usuário para outro bloco após o tempo de inatividade setado no bloco seja excedido”?

Desde já agradeço pela ajuda!

Se eu entendi certo, apenas para confirmar… você não precisa colocar a validação do REGEX nas Condições de Saída, uma vez que você já passa essa validação na Resposta do usuário.

Colocando o REGEX que eu te passei, basicamente é só adicionar o código |^$ no final de qualquer REGEX seu. A função de inatividade retorna um valor NULO pro sistema, então você precisa de validar a resposta conforme seu desejo OU (o pipeline ( | ) significa OU) uma resposta nula (o código ^$ resolve o retorno nulo no blip).

Obs: No código que você copiou acima, você não adicionou o cifrão igual eu coloquei.

Amigo Gabriel!

Deu certo!!!

Muito obrigado pela tua paciência e pela tua ajuda!

Esses ajustes foram fundamentais pra darmos sequência com o nosso projeto.

Mais uma vez obrigado e bom resto de quinta pra ti parceiro :wink:

Abraço,
Guilherme Corrêa

2 Curtidas

Sucesso!! Tmj meu caro! :rocket:
Um bom resto de quinta pra você também, abrs.

Se surgir mais dúvidas, conte conosco!

1 Curtida

Este tópico foi fechado automaticamente 7 dias depois da úlima resposta. Novas respostas não são mais permitidas.