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çãoarg: 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 | =!=ContainsDoes Not ContainOne OfNot One OfRegex |
Valores de sequência |
| Número (Inteiro, Longo, Flutuante, Duplo) |
<<=>>==!=BetweenNot BetweenRegex |
Valores inteiros, longos, flutuantes ou duplos |
| Data | <<=>>==!=BetweenNot BetweenRegex |
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);