Skip to main content

Sugiro ao Blip um meio nativo de validar a resposta do usuário restritamente dentro do tipo que foi apresentada a pergunta.



Por exemplo:


Apresentei um Carrossel e quero limitar a resposta do usuário a qualquer item deste carrossel, nada além disso, independente da plataforma.



Hoje tem duas formas de fazer isso na mão, mas são incompletas e falhas.



Uma é fazer a validação da entrada do usuário, que não tem o tipo “Resposta de item de carrossel”


Outra é fazer uma condição de saída colocando toda a coleção de opções do carrossel invertida e direcionando para um fluxo de exceção feito a mão.

Olá @Jhoni_Desb,





é totalmente possível fazer o que você está querendo. 😉


Basta adicionar payloads nos botões do seu carrossel com um tipo específico definido por você.



Dessa forma é possível validar através do tipo da mensagem se o usuário clicou em algum dos botões. Vamos a um exemplo muito simples:



Adicione um payload do tipo application/json e faça a validação por esse tipo.





Na validação, use o tipo application/json




Grato! Vou testar.


Assim fica bem mais controlado.


Testei aqui, a validação funcionou, mas o caminho normal complicou.


Cada opção do carrossel agora ficou complexa nas condições de saída. Veja só.


O caminho feliz não funciona agora.




Resolvi colocando apenas o conteúdo do payload.


Mas a sugestão da lista do builder incita o erro.


Inclusive foi difícil fugir da sugestão do builder, pois mesmo digitando somente o conteúdo, ele assumia a sugestão. Pra resolver tive que usar a vírgula!!



blip_cond_out2


@rafaelpa eu vejo um problema sério neste tipo de validação.


Embora funcione e dê mais controle pro desenvolvedor, o usuário fica preso!


Eu tenho um menu persistente com a opção do usuário “Cancelar” a qualquer momento.


Poderia ser também uma instrução “Digite ‘cancelar’ a qualquer momento que precisar”.


Mas esta validação de tipo prende o usuário em todas estas perguntas!



E agora josé?



Liberdade pro usuário e validação meia boca?


OU


Controle do usuário e prisão no fluxo?


@Jhoni_Desb,



não existe resposta certa ou errada neste caso. Tudo depende de contexto.


Eu, particularmente, não gosto de prender o usuário. Se o usuário sair do fluxo esperado, basta tratar e fazer com que o mesmo retorne ao ponto esperado 😉


Só acho que se existe um Menu persistente, o usuário deveria poder acessá-lo de qualquer ponto do fluxo.


Validação de input é uma coisa.


Intenção do usuário é outra.


A validação do input não poderia ter prioridade sobre o menu principal e pra piorar, deveria ser entendida quando acessada pelo bloco de exceções que sugerem fazer.



Fica a sugestão de usabilidade.



Encontrarei caminhos alternativos por aqui.


Obrigado


Comente