Validação Entrada de Usuário (Link)

Olá :slight_smile:

Alguém sabe me dizer como posso validar a entrada de usuário para aceitar apenas link de perfil do Linkedin?

1 Curtida

Olá @Beatriz_Barros_Franq , tudo bom?

Talvez o script tenha ficado um pouco complexo, mas se eu conseguir melhora-lo eu volto aqui e atualizo :sweat_smile:

Se o input for igual a https://www.linkedin.com/in/adrianodsv/ retorna true
Se o input for igual a https://www.linkedin.com/in/, não existir ou qualquer string diferente do esperado retorna false

function run(input) {
  //Try catch caso precise adicionar um tempo de resposta, se a resposta não existir retorna false
  try {
    //remove espaço em branco caso o usuário envie com espaço por acidente
    input = input.replace(/\s+/g, "");
    
    //verifica se o input se inicia como um link de perfil do linkedin
    const isValid = input.search("https://www.linkedin.com/in/");

    //se o isValid == 0 a entrada possui somente o link e nada mais, verifica se há caracteres após /in
    if(isValid == 0 && input.substring(input.indexOf("in/")).split("in/")[1].length > 0 ){
      return true
    }
    return false;
  } catch (e) {
    return false;
  }
}

Isso te atendeu?

1 Curtida

Muito muito obrigada, Adriano! :slight_smile:

Desculpe a ignorância, mas eu devo inserir esse script em ações de saída > executar script, certo? Por que está dando erro? :frowning:

E aí o que eu devo colocar na validação da entrada do usuário para dar certo?

image

1 Curtida

É quase isso @Beatriz_Barros_Franq

Primeiro: No script você deve definir a variável de saída, no campo onde está “Salvar retorno”

Segundo: Não será preciso fazer a validação dessa forma, pode desmarcar essa opção, validando por script, você define as tratativas através das condições de saída.

Mensagem se o usuário enviar um link/conteúdo inválido
image

Saída do bloco retornando para o mesmo bloco para que ele envie novamente

PERFEITO! Muito muito obrigada :orange_heart:

1 Curtida