Pergunta aberta

Para realizar uma pergunta ao usuário, você pode utilizar o input pergunta aberta com algumas máscaras, filtros ou apenas um campo para digitar o que deseja.

Para configurar, basta acessar a aba input e em seguida selecionar a opção pergunta aberta no ícone ?. Nesse caso, não há uma pergunta setada, logo o texto da pergunta precisa estar em output.

Estrutura

{
    "default": {
        "type": "text_input",
        "payload": {
            "mode": "textarea",
            "cognitive": true|false,
            "mask": "cellphone|cep|cpf|cpf_cnpj|numeric|email|money|vehicle_plate|password|custom"       
        }
    }
}

Atributos:

  • type: text_input

  • payload:

    • mode: textarea (opcional): ao utilizar essa informação, o campo de input no widget passa a ter uma quebra de linha automática.

    • cognitive (default: true): determina se a mensagem será enviada para curadoria ou não

    • mandatory (opcional): determina a obrigatoriedade de um nó. A configuração padrão do mandatory é false. Veja aqui como configurar.

    • tries: indica quantas tentativas o usuário terá em caso de erro (é preciso utilizar o mandatory: true para que haja a validação das tentativas). Cada mensagem será exibida após uma tentativa, ou seja não haverá abertura de input após a última mensagem.

    • error_message: mensagens exibidas de acordo com a sequência de erros. A quantidade de tentativas (tries) deve ser equivalente a quantia de frases cadastradas, caso contrário as fraseologias serão repetidas

    • mask (opcional): máscara a ser aplicada no campo de entrada

      • cellphone: máscara para número de celular brasileiro

      • cep: máscara para CEP brasileiro

      • cpf: máscara para CPF

      • cpf_cnpj: máscara dinâmica para CPF ou CNPJ

      • numeric: máscara para aceitar somente dígitos numéricos

      • email: máscara para validação de email

      • money: máscara monetária, aceita somente números

      • vehicle_plate: máscara para placa de veículos antigas(a partir de 1990) e novas(a partir de 2018) segundo Mercosul

      • password: máscara para receber a senha do usuário

      • telefone_fixo: máscara para número de telefone fixo brasileiro

      • fixo_or_cellphone: máscara dinâmica para número de celular ou telefone fixo brasileiros

      • custom: permite customização de diversos tipo de máscaras, baseada na biblioteca jQuery Mask Plugin:

    • maskFormat: string com formato desejado para a máscara. É obrigatório se a máscara for do tipo custom

    • maskOptions(opcional): json com opções adicionais para aplicação avançada no formato. Por exemplo, funções de callback, pattern e placeholder

    • max (opcional): número que limita o máximo de caracteres do input (atributo maxlength)

    • min (opcional): número que limita o mínimo de caracteres do input (atributo minlength)

    • filter (opcional):

      • regex: aplica uma expressão regular na mensagem digitada

        • pattern: expressão regular a ser aplicada

        • replace: o que será substituído nos matches

    • placeholder (opcional): campo aberto que será exibido para que o usuário digite algo

    • optional (default: false): permite que o input aceite uma entrada vazia. Por exemplo, ao teclar apenas "Enter".

Payload com mask usando o atributo opcional mandatory:

Payload com mask:

{
    "default": {
        "type": "text_input",
        "payload": {
            "cognitive": false,
            "mask": "email"
        }
    }
}js

Configurar mandatory

O resultado da validação do mandatory virá dentro da variável input.valid , sendo true para quando o valor inserido pelo usuário atenda os requisitos da máscara usada, ou false para quando o usuário passar por todas as tentativas. Veja o exemplo abaixo:

{
    "default": {
        "type": "text_input",
        "payload": {
            "mask": "cpf",
            "tries": 3,
            "mandatory": true,
            "error_message": [
                "Você errou, tente novamente",
                "Por favor tente uma última vez",
                "Não consegui validar o seu cpf, tente novamente mais tarde"
            ]
        }
    }
}

A configuração dos destinos será:

1 - No caso de o input atingir a condição da máscara, ou seja, usuário digitar um cpf, usamos:

input.valid  == true

2 - No caso de o input não atingir a condição da máscara depois de todas as tentativas tries usamos:

input.valid  == false

Ao utilizar o tries com mandatory: true os somente serão executados os outputs e o input até que ultrapasse o limite de tries ou o usuário envie a informação válida.

Last updated