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