Validar resposta dentro do tipo que você pediu


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.


7 comentários

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