Funciones de Validación de Texto¶
Esta función proporciona a 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ónarg:
El valor que se utilizará con el operador de comparación en la validación
Parámetros Opcionales¶
ignoreCase
: Si ignorar mayúsculas y minúsculas al realizar la validación; por defecto,false
Descripción¶
Esta función está destinada a ser llamada desde un secuencia de comandos utilizado para la validación de texto. Proporciona para 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. Consulte las páginas sobre Definición de formatos de archivo y Validación de campo de archivo sin formato para informacion adicional. Tenga en cuenta que la validación solo funciona para fuentes, no para destinos.
El Validate()
La función asume que el secuencia de comandos de llamada tiene estos tres argumentos de entrada, ya que los usa 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" como se usa en el formato de archivo)_3:
Una cadena de formato del valor de entrada (el campo "Formato" 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 el _n
sintaxis.
Operadores de Comparación y Valores¶
Dependiendo del tipo de datos pasados al secuencia de comandos llamado, se pueden usar diferentes operadores de comparación y valores. En todos los casos, se puede usar una expresión regular que sigue a la Biblioteca de expresiones regulares Boost sintaxis. Es una variación de la expresión regular de Perl sintaxis.
Valores de Comparación de Fechas¶
Para Fechas, se pueden usar estos valores de comparación, además de las propias fechas. Tenga en cuenta que algunas variaciones usan 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 está determinado por la ubicación actual. |
THIS_WEEK | Comienza a las 12:00:00 del primer día 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 ubicación. |
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 ubicación. |
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 siguientes 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 próximos 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 próximo 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 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 naño anterior. |
Ejemplos¶
// This code could be in a script called "FieldValidate"
// It could be called from the Field Validation
// dialog of a date field in a text document file format.
// It would validate that a date is in the current quarter
// but does not occur on a weekend.
// When the script is called, these variables are populated:
// _1(input_string_value), _2(data_type), _3(format)
// and are used by the Validate() function.
d = Date(CVTDate(_1, _3, "yyyy-mm-dd HH:MM:SS"));
dow = DayOfWeek(d);
v = Validate("=", "THIS_QUARTER", false);
// The last line of the script must resolve to a boolean result:
dow!=0 && dow!=6 && v;
También puede usar esta función en una secuencia de comandos o asignación donde no hay una validación de campo disponible o en uso.
Primero, cree un secuencia de comandos ("ValidateWrapper") que envuelva el Validate
para que se llenen las variables locales que requiere:
<trans>
// This code could be a script called "ValidateWrapper".
// 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 a la secuencia de comandos contenedora desde otra secuencia de comandos (o una asignación) 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>Scripts/ValidateWrapper</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>Scripts/ValidateWrapper</TAG>",
b1, b2, b3, b4, b5, b6);
// Validation of an Integer
c1 = 100;
c2 = "Integer";
c3 = "";
c4 = ">";
c5 = 1000;
c6 = "true";
resultC = RunScript("<TAG>Scripts/ValidateWrapper</TAG>",
c1, c2, c3, c4, c5, c6);