Ir para o conteúdo

Funções de Validação de Texto

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 ser ignorado o caso ao realizar a validação; padrão, false

Descrição

Esta função deve ser chamada a partir de um script usado para validação de texto. Ele 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 esta 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 origens, não para destinos.

O Validate A função assume que o script de chamada possui estes três argumentos de entrada fornecidos, pois os utiliza para obter o valor que irá validar:

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

Veja o ArgumentList função para obter mais informações sobre como os valores são passados usando o __n_sintaxe.

Operadores e Valores de Comparação

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

Tipo de dados Operadores de comparação Valores de comparação
Corda =
!=
Contains
Does Not Contain
One Of
Not One Of
Regex
Valores de sequência
Número
(Inteiro, Longo, Flutuante, Duplo)
<
<=
>
>=
=
!=
Between
Not Between
Regex
Valores inteiros, longos, flutuantes ou duplos
Data <
<=
>
>=
=
!=
Between
Not Between
Regex
Datas (ou strings que representam uma data) usando Valores de comparação de data
Booleano =
!=
Regex
true, false, 1, 0

Valores de Comparação de Datas

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
YESTERDAY Começa às 12h00 do dia anterior e continua por 24 horas.
TODAY Começa às 12h00 do dia atual e continua por 24 horas.
TOMORROW Começa às 12h00 após o dia atual e continua por 24 horas.
LAST_WEEK Começa às 12h00 do primeiro dia da semana anterior ao primeiro dia da semana mais recente e continua por sete dias inteiros. O primeiro dia da semana é determinado pela localidade atual.
THIS_WEEK Começa às 12h00 do primeiro dia da semana mais recente antes do dia atual e continua por sete dias completos. O primeiro dia da semana é determinado pela sua localidade.
NEXT_WEEK Começa às 12h00 do primeiro dia da semana mais recente após o dia atual e continua por sete dias completos. O primeiro dia da semana é determinado pela sua localidade.
LAST_MONTH Começa às 12h00 do primeiro dia do mês anterior ao dia atual e continua por todos os dias desse mês.
THIS_MONTH Começa às 12h00 do primeiro dia do mês em que se encontra o dia atual e continua por todos os dias desse mês.
NEXT_MONTH Começa às 12h00 do primeiro dia do mês após o mês em que o dia atual se encontra e continua por todos os dias desse mês.
LAST_90_DAYS Começa às 12h00 do dia atual e continua pelos últimos 90 dias.
NEXT_90_DAYS Começa às 12h00 do dia atual e continua pelos próximos 90 dias.
LAST_N_DAYS:n Para o número n fornecido, começa às 12h00 do dia atual e continua nos últimos n dias.
NEXT_N_DAYS:n Para o número n fornecido, começa às 12h00 do dia atual e continua pelos próximos n dias.
THIS_QUARTER Começa às 12h00 do trimestre atual e continua até o final do trimestre atual.
LAST_QUARTER Começa às 12h00 do trimestre anterior e continua até o final desse trimestre.
NEXT_QUARTER Começa às 12h00 do próximo trimestre e continua até o final desse trimestre.
NEXT_N_QUARTERS:n Começa às 12h00 do próximo trimestre e continua até o final do nº trimestre.
LAST_N_QUARTERS:n Começa às 12h00 do trimestre anterior e continua até o final do nº trimestre anterior.
THIS_YEAR Começa às 12h do dia 1º de janeiro do ano atual e continua até o final de 31 de dezembro do ano atual.
LAST_YEAR Começa às 12h do dia 1º de janeiro do ano anterior e continua até o final de 31 de dezembro daquele ano.
NEXT_YEAR Começa às 12h do dia 1º de janeiro do ano seguinte e continua até o final de 31 de dezembro daquele ano.
NEXT_N_YEARS:n Começa às 12h do dia 1º de janeiro do ano seguinte e continua até o final de 31 de dezembro do nº ano.
LAST_N_YEARS:n Começa às 12h do dia 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 envolva o Validate função 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 mapeamento) para usar seu Validate função:

// 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);