Ferramentas do usuário

Ferramentas do site


is_not_empty_tube

IsNotEmpty

O tube isNotEmpty verifica se uma variável ou campo recebeu alguma resposta, seja pelo usuário ou pelo programador.

Formato:

<var>.isNotEmpty()
isNotEmpty(<var>)

Parâmetros:

  • var: variável ou campo a ser verificado, de qualquer tipo.

Retorno:

  • O tube dá um retorno verdadeiro (true) caso a variável tenha uma resposta, e falso (false) caso contrário.
  • Como o retorno é booleano (true ou false), pode ser utilizado como condição de operadores como if, elseif e printIf. Isto significa que verificaremos se a variável ou campo recebeu alguma resposta ou não (apenas para relembrar, como se trata de um desvio condicional, é necessário ter sempre uma condição e consequência a partir do retorno ser verdadeiro ou falso).

Exemplos:

1. isNotEmpty com printIf. Um uso comum do tube é para fazer o print de variáveis ou campos facultativos. Considere uma struct de endereço, em que todos os campos são obrigatórios com exceção de [complemento]. Nesse caso, usa-se o tube printIf para avaliar se [complemento] foi preenchido pelo usuário, condicionando o print à existência ou não de uma resposta. Nesses casos também é comum que o estado ([uf]) seja dado por uma lista associativa, utilizando o tube getByKey para imprimir somente a sigla do estado selecionado.

print <endereco.rua> & ", nº " & <endereco.numero> & printIf(<endereco.complemento>.isNotEmpty(), ", " & 
    <endereco.complemento>) & ", " & <endereco.bairro> & ", " & <endereco.cidade> & " – " & 
    <endereco.uf>.getByKey("Sigla") & ", CEP: " & <endereco.cep> & "."

2. isNotEmpty com máscara de data. Outro uso comum do tube é na definição de máscara de data a partir de uma variável ou campo preenchido anteriormente. Considere um processo trabalhista em que se deseja perguntar a data da ocorrência do acidente em local de trabalho([dataAcidente]). A data do acidente é necessariamente anterior à data de ajuizamento da ação ([dataAjuizamento]). Assim, caso a data de ajuizamento da ação já tenha sido preenchida, ela é utilizada como data máxima da máscara para a data de acidente. Caso ainda não tenha sido preenchida, utiliza-se a data atual como limite (através do tube today).

if (<dadosProcesso.dataAjuizamento>.isNotEmpty()) {
    <dadosAcidente.dataAcidente>.mask = "[...;" & <dadosProcesso.dataAjuizamento> & "]"
}
else {
    <dadosAcidente.dataAcidente>.mask = "[...;" & today() & "]"
}

3. isNotEmpty com endsWith. É muito comum que se peça para o usuário preencher parágrafos completos com variáveis do tipo Text. Nesses casos, contudo, o usuário pode se esquecer de colocar o ponto final do parágrafo. Assim, combinam-se printIf, isNotEmpty e endsWith para avaliar se o parágrafo foi preenchido e se termina com ponto final. Caso termine, nada adicional é impresso. Caso contrário, imprime-se o ponto final.

print <paragAdicional> & printIf(<paragAdicional>.isNotEmpty() AND <paragAdicional>.endsWith("."), "", ".")

Ressalta-se que o sistema não aceita o uso do tube endsWith quando a variável estiver vazia. Por isso, protege-se o seu uso com isNotEmpty, garantido que só será acionado quando houver um texto para ser avaliado.

is_not_empty_tube.txt · Última modificação: 2020/10/23 15:29 por gabriel_vieira