Funciones de Validación de Texto
Estas funciones proporcionan para un secuencia de comandos de validación la misma validación que se puede definir para un formato de archivo de documento de texto.
Validate
Declaración
bool Validate(string op, string arg[, boolean ignoreCase])
Sintaxis
Validate(<op>, <arg>[, <ignoreCase>])
Parámetros Requeridos
op
: El operador de comparación que se utilizará para la validación.arg
: El valor que se utilizará con el operador de comparación en la validación.
Parámetros Opcionales
ignoreCase
: Si se ignoran las mayúsculas y minúsculas al realizar la validación; por defecto,false
Descripción
Esta función está diseñada para ser llamada desde un secuencia de comandos utilizado para la validación de texto. Proporciona a ese secuencia de comandos de validación la misma validación que se puede definir para un formato de archivo de documento de texto. Normalmente, esta función se llama en un secuencia de comandos utilizado en la validación de un formato de archivo de documento de texto fuente. Tenga en cuenta que la validación funciona solo para fuentes, no para destinos.
El Validate
la función supone que el secuencia de comandos que realiza la llamada tiene estos tres argumentos de entrada proporcionados, ya que los utiliza para obtener el valor que va a validar:
_1
: El valor de entrada, como una cadena_2
: Una cadena con el tipo de datos del valor de entrada (el campo "Tipo" tal como se usa en el formato de archivo)_3
: Una cadena de formato del valor de entrada (el campo "Formato" tal como se usa en el formato de archivo)
Ver el ArgumentList
función para obtener más información sobre cómo se pasan los valores usando _n
sintaxis.
Operadores y Valores de Comparación
Dependiendo del tipo de datos pasados al secuencia de comandos llamado, se pueden utilizar diferentes operadores y valores de comparación. En todos los casos, se puede utilizar una expresión regular que siga a Impulsar la sintaxis de la biblioteca de expresiones regulares. Es una variación de la sintaxis de la expresión regular de Perl.
Tipo de datos | Operadores de comparación | Valores de comparación |
---|---|---|
Cadena | = != Contains Does Not Contain One Of Not One Of Regex | Valores de cadena |
Número (Entero, Largo, Flotante, Doble) | < <= > >= = != Between Not Between Regex | Valores enteros, largos, flotantes o dobles |
Fecha | < <= > >= = != Between Not Between Regex | Fechas (o cadenas que representan una fecha) usando los Valores de comparación de fechas |
booleano | = != Regex | true, false, 1, 0 |
Valores de Comparación de Fechas
Para las fechas, se pueden utilizar estos valores de comparación, además de las fechas mismas. Tenga en cuenta que algunas variaciones utilizan un parámetro entero para indicar una cantidad.
Valor de comparación | Descripción |
---|---|
YESTERDAY | Comienza a las 12:00:00 del día anterior y continúa durante 24 horas. |
TODAY | Comienza a las 12:00:00 del día actual y continúa durante 24 horas. |
TOMORROW | Comienza a las 12:00:00 después del día actual y continúa durante 24 horas. |
LAST_WEEK | Comienza a las 12:00:00 del primer día de la semana anterior al primer día de la semana más reciente y continúa durante siete días completos. El primer día de la semana lo determina la ubicación actual. |
THIS_WEEK | Comienza a las 12:00:00 del primer día más reciente de la semana anterior al día actual y continúa durante siete días completos. El primer día de la semana lo determina su localidad. |
NEXT_WEEK | Comienza a las 12:00:00 del primer día de la semana más reciente después del día actual y continúa durante siete días completos. El primer día de la semana lo determina su localidad. |
LAST_MONTH | Comienza a las 12:00:00 del primer día del mes anterior al día actual y continúa durante todos los días de ese mes. |
THIS_MONTH | Comienza a las 12:00:00 del primer día del mes en el que se encuentra el día actual y continúa durante todos los días de ese mes. |
NEXT_MONTH | Comienza a las 12:00:00 del primer día del mes posterior al mes en el que se encuentra el día actual y continúa durante todos los días de ese mes. |
LAST_90_DAYS | Comienza a las 12:00:00 del día actual y continúa durante los últimos 90 días. |
NEXT_90_DAYS | Comienza a las 12:00:00 del día actual y continúa durante los próximos 90 días. |
LAST_N_DAYS :n | Para el número n proporcionado, comienza a las 12:00:00 del día actual y continúa durante los últimos n días. |
NEXT_N_DAYS :n | Para el número n proporcionado, comienza a las 12:00:00 del día actual y continúa durante los siguientes n días. |
THIS_QUARTER | Comienza a las 12:00:00 del trimestre actual y continúa hasta el final del trimestre actual. |
LAST_QUARTER | Comienza a las 12:00:00 del trimestre anterior y continúa hasta el final de ese trimestre. |
NEXT_QUARTER | Comienza a las 12:00:00 del siguiente trimestre y continúa hasta el final de ese trimestre. |
NEXT_N_QUARTERS :n | Comienza a las 12:00:00 del siguiente trimestre y continúa hasta el final del nésimo trimestre. |
LAST_N_QUARTERS :n | Comienza a las 12:00:00 del trimestre anterior y continúa hasta el final del nésimo trimestre anterior. |
THIS_YEAR | Comienza a las 12:00:00 del 1 de enero del año en curso y continúa hasta el final del 31 de diciembre del año en curso. |
LAST_YEAR | Comienza a las 12:00:00 del 1 de enero del año anterior y continúa hasta el final del 31 de diciembre de ese año. |
NEXT_YEAR | Comienza a las 12:00:00 del 1 de enero del año siguiente y continúa hasta el final del 31 de diciembre de ese año. |
NEXT_N_YEARS :n | Comienza a las 12:00:00 del 1 de enero del año siguiente y continúa hasta el final del 31 de diciembre del nésimo año. |
LAST_N_YEARS :n | Comienza a las 12:00:00 del 1 de enero del año anterior y continúa hasta el final del 31 de diciembre del nésimo año anterior. |
Ejemplos
Puede utilizar esta función en un secuencia de comandos o mapeo. Primero, cree un secuencia de comandos ("ValWrap") que envuelva el Validate
función para que se completen las variables locales que requiere:
<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>
Luego, llame al secuencia de comandos contenedor desde otro secuencia de comandos (o un mapeo) para usar su Validate
función:
// 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);