Ir para o conteúdo

Funções de validação de texto no Jitterbit Studio

Essas funções fornecem para um script de validação a mesma validação que pode ser definida para um formato de arquivo de documento de texto.

Validate

Declaração

bool Validate(string op, string arg[, boolean ignoreCase])

Sintaxe

Validate(<op>, <arg>[, <ignoreCase>])

Parâmetros obrigatórios

  • op: O operador de comparação a ser usado para a validação
  • arg: O valor a ser usado com o operador de comparação na validação

Parâmetros opcionais

  • ignoreCase: Se deve ignorar a diferença entre maiúsculas e minúsculas ao realizar a validação; padrão, false

Descrição

Essa função é destinada a ser chamada a partir de um script usado para validação de texto. Ela fornece para esse script de validação a mesma validação que pode ser definida para um formato de arquivo de documento de texto. Normalmente, essa função é chamada em um script usado na validação de um formato de arquivo de documento de texto de origem. Observe que a validação funciona apenas para fontes, não para destinos.

A função Validate assume que o script chamador possui esses três argumentos de entrada fornecidos a ele, pois os utiliza para obter o valor que será validado:

  • _1: O valor de entrada, como uma string
  • _2: Uma string com o tipo de dado do valor de entrada (o campo "Tipo" conforme usado no Formato de Arquivo)
  • _3: Uma string de formato do valor de entrada (o campo "Formato" conforme usado no Formato de Arquivo)

Consulte a função ArgumentList para mais informações sobre como os valores são passados usando a sintaxe _n.

Operadores de comparação e valores

Dependendo do tipo de dado passado para o script chamado, diferentes operadores de comparação e valores podem ser usados. Em todos os casos, uma expressão regular pode ser usada que segue a sintaxe da biblioteca de expressões regulares Boost. É uma variação da sintaxe de expressões regulares Perl.

Tipo de Dado Operadores de Comparação Valores de Comparação
String =
!=
Contém
Não Contém
Um Dos
Não Um Dos
Regex
Valores de string
Número
(Inteiro, Longo, Flutuante, Duplo)
<
<=
>
>=
=
!=
Entre
Não Entre
Regex
Valores Inteiro, Longo, Flutuante ou Duplo
Data <
<=
>
>=
=
!=
Entre
Não Entre
Regex
Datas (ou strings que representam uma data) usando os valores de comparação de data
Boolean =
!=
Regex
true, false, 1, 0

Valores de comparação de data

Para datas, esses valores de comparação podem ser usados, além das próprias datas. Observe que algumas variações usam um parâmetro inteiro para indicar uma quantidade.

Valor de Comparação Descrição
ONTEM Começa às 12:00:00 do dia anterior e continua por 24 horas.
HOJE Começa às 12:00:00 do dia atual e continua por 24 horas.
AMANHÃ Começa às 12:00:00 após o dia atual e continua por 24 horas.
ÚLTIMA_SEMANA Começa às 12:00:00 no primeiro dia da semana antes do mais recente primeiro dia da semana e continua por sete dias completos. O primeiro dia da semana é determinado pela localidade atual.
ESTA_SEMANA Começa às 12:00:00 no mais recente primeiro dia da semana antes do dia atual e continua por sete dias completos. O primeiro dia da semana é determinado pela sua localidade.
PRÓXIMA_SEMANA Começa às 12:00:00 no mais recente primeiro dia da semana após o dia atual e continua por sete dias completos. O primeiro dia da semana é determinado pela sua localidade.
ÚLTIMO_MÊS Começa às 12:00:00 no primeiro dia do mês anterior ao dia atual e continua por todos os dias desse mês.
ESTE_MÊS Começa às 12:00:00 no primeiro dia do mês em que o dia atual está e continua por todos os dias desse mês.
PRÓXIMO_MÊS Começa às 12:00:00 no primeiro dia do mês após o mês em que o dia atual está e continua por todos os dias desse mês.
ÚLTIMOS_90_DIAS Começa às 12:00:00 do dia atual e continua pelos últimos 90 dias.
PRÓXIMOS_90_DIAS Começa às 12:00:00 do dia atual e continua pelos próximos 90 dias.
ÚLTIMOS_N_DIAS:n Para o número n fornecido, começa às 12:00:00 do dia atual e continua pelos últimos n dias.
PRÓXIMOS_N_DIAS:n Para o número n fornecido, começa às 12:00:00 do dia atual e continua pelos próximos n dias.
ESTE_TRIMESTRE Começa às 12:00:00 do trimestre atual e continua até o final do trimestre atual.
ÚLTIMO_TRIMESTRE Começa às 12:00:00 do trimestre anterior e continua até o final desse trimestre.
PRÓXIMO_TRIMESTRE Começa às 12:00:00 do próximo trimestre e continua até o final desse trimestre.
PRÓXIMOS_N_TRIMESTRES:n Começa às 12:00:00 do próximo trimestre e continua até o final do nº trimestre.
ÚLTIMOS_N_TRIMESTRES:n Começa às 12:00:00 do trimestre anterior e continua até o final do nº trimestre anterior.
ESTE_ANO Começa às 12:00:00 de 1º de janeiro do ano atual e continua até o final de 31 de dezembro do ano atual.
ÚLTIMO_ANO Começa às 12:00:00 de 1º de janeiro do ano anterior e continua até o final de 31 de dezembro daquele ano.
PRÓXIMO_ANO Começa às 12:00:00 de 1º de janeiro do ano seguinte e continua até o final de 31 de dezembro daquele ano.
PRÓXIMOS_N_ANOS:n Começa às 12:00:00 de 1º de janeiro do ano seguinte e continua até o final de 31 de dezembro do nº ano.
ÚLTIMOS_N_ANOS:n Começa às 12:00:00 de 1º de janeiro do ano anterior e continua até o final de 31 de dezembro do nº ano anterior.

Exemplos

Você pode usar esta função em um script ou mapeamento. Primeiro, crie um script ("ValWrap") que envolve a função Validate para que as variáveis locais necessárias sejam preenchidas:

<trans>
// This code could be a script called
// "ValWrap". It would be called from
// another script or mapping.

// Argument List:
// _1 (input_string_value), _2 (data_type),
// _3 (format) _4 (comparison operator),
// _5 (comparison value), _6 (ignore case)

Validate(_4, _5, _6);
</trans>

Em seguida, chame o script wrapper de outro script (ou um mapeamento) para usar sua função Validate:

// This code calls a wrapper script to access
// the Validate function.
// Wrapper Argument List:
// _1 (input_string_value), _2 (data_type),
// _3 (format), _4 (comparison operator),
// _5 (comparison value), _6 (ignore case)

// Validation of a Date
a1 = Date(CVTDate("02192018", "mmddyyyy", "yyyy-mm-dd HH:MM:SS"));
a2 = "Date";
a3 = ""; // Format not required if a Date passed
a4 = "=";
a5 = "THIS_QUARTER";
a6 = "true";
resultA = RunScript("<TAG>script:ValWrap</TAG>",
    a1, a2, a3, a4, a5, a6);

// Validation of a String Date
b1 = "02192018";
b2 = "Date";
b3 = "mmddyyyy";
b4 = "=";
b5 = "THIS_QUARTER";
b6 = "true";
resultB = RunScript("<TAG>script:ValWrap</TAG>",
    b1, b2, b3, b4, b5, b6);

// Validation of an Integer
c1 = 100;
c2 = "Integer";
c3 = "";
c4 = ">";
c5 = 1000;
c6 = "true";
resultC = RunScript("<TAG>script:ValWrap</TAG>",
    c1, c2, c3, c4, c5, c6);