Saltar al contenido

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