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 | = != 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);