Propiedades de validación

Las propiedades de validación limitan lo aceptable cuando el usuario especifica datos en un formulario de texto.

Las propiedades son las siguientes:

fill

La propiedad fill indica si es necesario que el usuario especifique datos en cada posición de campo. Los valores válidos son no (el valor por omisión) y .

inputRequired

La propiedad inputRequired indica si es necesario que el usuario especifique datos en el campo. Los valores válidos son no (el valor por omisión) y .

Si el usuario no coloca datos en el campo cuando el valor de propiedad es , el entorno de ejecución de EGL visualiza un mensaje, como se describe en relación con la propiedad de campo inputRequiredMsgKey.

inputRequiredMsgKey

La propiedad inputRequiredMsgKey identifica el mensaje que se visualiza si la propiedad de campo inputRequired se establece como y el usuario no coloca datos en el campo.

La tabla de mensajes (la tabla de datos que contiene el mensaje) está identificada en la propiedad del programa msgTablePrefix. Encontrará los detalles sobre el nombre de tabla de datos en el apartado Componente DataTable en formato fuente EGL.

El valor de inputRequiredMsgKey es una serie o literal que coincide con una entrada de la primera columna de la tabla de mensajes.

Si se utiliza una clave numérica con una tabla de mensajes que espera una clave de caracteres, el número se convierte a una serie de caracteres. Si se utiliza un literal de serie con una tabla de mensajes que espera una clave numérica, el valor de la serie debe ser un entero con firma o sin firma.

isDecimalDigit

La propiedad isDecimalDigit determina si debe comprobarse si el valor de entrada incluye solamente dígitos decimales, que son los siguientes:
  0123456789

Los valores válidos son no (el valor por omisión) y .

Esta propiedad solamente es aplicable a campos de caracteres.

isHexDigit

La propiedad isHexDigit determina si debe comprobarse si el valor de entrada incluye solamente dígitos hexadecimales, que son los siguientes:
  0123456789abcdefABCDEF

Los valores válidos son no (el valor por omisión) y .

Esta propiedad solamente es aplicable a campos de caracteres.

minimumInput

La propiedad minimumInput indica el número mínimo de caracteres que el usuario debe especificar en el campo, si el usuario especifica datos en el campo. El valor por omisión es 0.

Si el usuario especifica menos caracteres que el número mínimo, el entorno de ejecución de EGL visualiza un mensaje, como se describe en relación con la propiedad de campo minimumInputMsgKey.

minimumInputMsgKey

La propiedad minimumInputMsgKey identifica el mensaje que se visualiza si el usuario actúa como se indica a continuación:
  • Especifica datos en el campo; y
  • Especifica menos caracteres que el valor especificado en la propiedad minimumInputRequired.

La tabla de mensajes, la tabla que contiene el mensaje, está identificada en la propiedad del programa msgTablePrefix. Encontrará los detalles sobre el nombre de tabla en Componente DataTable en formato fuente EGL.

El valor de minimumInputMsgKey es una serie o literal que coincide con una entrada de la primera columna de la tabla de mensajes.

Si se utiliza una clave numérica con una tabla de mensajes que espera una clave de caracteres, el número se convierte a una serie de caracteres. Si se utiliza un literal de serie con una tabla de mensajes que espera una clave numérica, el valor de la serie debe ser un entero con firma o sin firma.

needsSOSI

La propiedad needsSOSI sólo se utiliza para un campo multibyte (un campo de tipo MBCHAR) e indica si EGL realiza una comprobación especial cuando el usuario especifica datos de tipo MBCHAR en un dispositivo ASCII. Los valores válidos son yes (el valor por omisión) y no. La comprobación determina si la entrada puede convertirse adecuadamente al formato SO/SI.

La propiedad resulta útil ya que, durante la conversión, se suprimen los blancos de cola del final de una serie multibyte para permitir la inserción de delimitadores SO/SI en cada subserie de caracteres de doble byte. Para una correcta conversión, el campo de formulario debe tener al menos dos blancos para cada serie de doble byte en el valor multibyte.

Si se establece needsSOSI en no, el usuario puede rellenar el campo de entrada, en cuyo caso la conversión trunca los datos sin aviso.

Si, no obstante, se establece needsSOSI en , el resultado es el siguiente cuando el usuario especifica datos multibyte:
  • El valor se acepta tal cual porque se han proporcionado suficientes blancos; o bien
  • El valor se trunca y el usuario recibe un aviso de mensaje.

Establezca needsSOSI en yes si la entrada ASCII de datos multibyte del usuario puede utilizarse en un sistema z/OS o iSeries.

typeChkMsgKey

La propiedad typeChkMsgKey identifica el mensaje que se visualiza si los datos de entrada no son adecuados para el tipo de campo.

La tabla de mensajes, la tabla que contiene el mensaje, está identificada en la propiedad del programa msgTablePrefix. Encontrará los detalles sobre el nombre de tabla en Componente DataTable en formato fuente EGL.

El valor de typeChkMsgKey es una serie o literal que coincide con una entrada de la primera columna de la tabla de mensajes.

Si se utiliza una clave numérica con una tabla de mensajes que espera una clave de caracteres, el número se convierte a una serie de caracteres. Si se utiliza un literal de serie con una tabla de mensajes que espera una clave numérica, el valor de la serie debe ser un entero con firma o sin firma.

validatorDataTable

La propiedad validatorDataTable (antes la propiedad validatorTable) identifica una tabla de validación, que es un componente dataTable que actúa como base de una comparación con la entrada del usuario. El uso de una tabla de validador se produce después de que el entorno de ejecución de EGL realice las comprobaciones de validación elementales, si las hay. Esas comprobaciones elementales se describen en relación con las siguientes propiedades:
  • inputRequired
  • isDecimalDigit
  • isHexDigit
  • minimumInput
  • needsSOSI
  • validValues

Todas las comprobaciones preceden al uso de la propiedad validatorFunction, que especifica una función de validación que realice validación entre valores.

Puede especificar una tabla de validadores de cualquiera de los siguientes tipos, como se describe en Componente DataTable en formato fuente EGL:
matchInvalidTable
Indica que la entrada del usuario debe ser distinta a cualquier valor de la primera columna de la tabla de datos.
matchValidTable
Indica que la entrada del usuario debe coincidir con un valor de la primera columna de la tabla de datos.
rangeChkTable
Indica que la entrada del usuario debe coincidir con un valor que esté entre los valores de la primera y segunda columna de al menos una fila de la tabla de datos. (El rango es inclusivo; la entrada del usuario también es válida si coincide con un valor de la primera o segunda columna de cualquier fila.)

Si la validación falla, el mensaje visualizado se basa en el valor de la propiedad validatorDataTableMsgKey.

validatorDataTableMsgKey

La propiedad validatorDataTableMsgKey (antes la propiedad validatorTableMsgKey) identifica el mensaje que se visualiza si el usuario proporciona datos que no corresponden a los requisitos de la tabla de validadores, que es la tabla especificada en la propiedad validatorDataTable.

La tabla de mensajes, la tabla que contiene el mensaje, está identificada en la propiedad del programa msgTablePrefix. Encontrará los detalles sobre el nombre de tabla de mensajes en Componente DataTable en formato fuente EGL.

El valor de validatorDataTableMsgKey es una serie o literal que coincide con una entrada de la primera columna de la tabla de mensajes.

Si se utiliza una clave numérica con una tabla de mensajes que espera una clave de caracteres, el número se convierte a una serie de caracteres. Si se utiliza un literal de serie con una tabla de mensajes que espera una clave numérica, el valor de la serie debe ser un entero con firma o sin firma.

validatorFunction

La propiedad validatorFunction (antes la propiedad validator) identifica una función de validador, que es lógica que se ejecuta después de que el entorno de ejecución de EGL realice comprobaciones de validación elementales, si las hay. Esas comprobaciones se describen en relación con las siguientes propiedades:
  • inputRequired
  • isDecimalDigit
  • isHexDigit
  • minimumInput
  • needsSOSI
  • validValues

Las comprobaciones elementales preceden al uso de la tabla de validadores (como se describe en relación con la propiedad validatorDataTable) y todas las comprobaciones preceden al uso de la propiedad validatorFunction. Este orden de eventos es importante ya que la función de validador puede realizar la comprobación entre campos y dicha comprobación requiere a menudo valores de campo válidos.

El valor de validatorFunction es una función de validación escrita por el usuario. Esta función se codifica sin parámetros y de modo que, si detecta un error, solicita la revisualización del formulario invocando la función ConverseLib.validationFailed.

Si la validación falla al especificar una de las dos funciones del sistema, el mensaje visualizado se basa en el valor de la propiedad validatorFunctionMsgKey. Si, no obstante, la validación falla al especificar una función de validador propia, la función no utiliza validatorFunctionMsgKey, sino que visualiza un mensaje invocando ConverseLib.validationFailed.

validatorFunctionMsgKey

La propiedad validatorFunctionMsgKey (antes la propiedad validatorMsgKey) identifica un mensaje que se visualiza en el caso siguiente:
  • La propiedad validatorFunction indica el uso de sysLib.verifyChkDigitMod10 o sysLib.verifyChkDigitMod11; y
  • La función especificada indica que la entrada del usuario tiene errores.

La tabla de mensajes, la tabla que contiene el mensaje, está identificada en la propiedad del programa msgTablePrefix. Encontrará los detalles sobre el nombre de tabla en Componente DataTable en formato fuente EGL.

El valor de validatorFunctionMsgKey es una serie o literal que coincide con una entrada de la primera columna de la tabla de mensajes.

Si se utiliza una clave numérica con una tabla de mensajes que espera una clave de caracteres, el número se convierte a una serie de caracteres. Si se utiliza un literal de serie con una tabla de mensajes que espera una clave numérica, el valor de la serie debe ser un entero con firma o sin firma.

validValues

La propiedad validValues (antes la propiedad range) indica un conjunto de valores válidos para la entrada de usuario. La propiedad se utiliza para campos de caracteres numéricos. El formato de la propiedad es el siguiente:
  validValues = literalMatriz
literalMatriz
Un literal de matriz de elementos singulares y de dos valores, como en los ejemplos siguientes:
  validValues = [ [1,3], 5, 12 ]
  validValues = [ "a", ["bbb", "i"]] 
Cada elemento singular contiene un valor válido. Cada elemento de dos valores contiene un rango:
  • Para los números, el valor situado más a la izquierda es el valor más bajo válido, el situado más a la derecha, el más alto. En el ejemplo anterior, los valores 1, 2 y 3 son válidos para un campo de tipo INT.
  • Para los campos de caracteres, la entrada de usuario se compara con el rango de valores para el número de caracteres para el que es posible una comparación. Por ejemplo, el rango ["a", "c"] incluye (como válida) cualquier entrada cuyo primer carácter sea "a", "b" o "c". Aunque la serie "cat" sea mayor que "c" en una secuencia de ordenación, "cat" es una entrada válida.
    La regla general es la siguiente: si el primer valor del rango se llama lowValue y el segundo highValue, la entrada del usuario es válida si se cumple cualquiera de estas condiciones:
    • La entrada de usuario es igual a lowValue o highValue
    • La entrada de usuario es mayor que lowValue y menor que highValue
    • La serie inicial de caracteres de entrada coincide con la serie inicial de caracteres en lowValue, mientras es posible una comparación
    • La serie inicial de caracteres de entrada coincide con la serie inicial de caracteres en highValue, mientras es posible una comparación
A continuación se proporcionan algunos ejemplos:
  // los valores válidos son 1, 2, 3, 5, 7, 9 y 11
  validValues = [[1, 3], 5, 7, 11]

  // los valores válidos son las letras "a" y "z"
  validValues = ["a", "z"]

  // los valores válidos son las series que empiezan por "a"
  validValues = [["a", "a"]]

  // los valores válidos son cualquier serie
  // que empiece por una letra minúscula
  validValues = [["a", "z"]]

Si la entrada del usuario no está dentro del rango especificado, el entorno de ejecución de EGL visualiza un mensaje, como se describe en relación con la propiedad de campo validValuesMsgKey.

validValuesMsgKey

La propiedad validValuesMsgKey (antes la propiedad rangeMsgKey) identifica el mensaje que se visualiza si se ha establecido la propiedad de campo validValues y el usuario especifica datos fuera de rango en el campo.

La tabla de mensajes, la tabla que contiene el mensaje, está identificada en la propiedad del programa msgTablePrefix. Encontrará los detalles sobre el nombre de tabla en Componente DataTable en formato fuente EGL.

El valor de validValuesMsgKey es una serie o literal que coincide con una entrada de la primera columna de la tabla de mensajes.

Si se utiliza una clave numérica con una tabla de mensajes que espera una clave de caracteres, el número se convierte a una serie de caracteres. Si se utiliza un literal de serie con una tabla de mensajes que espera una clave numérica, el valor de la serie debe ser un entero con firma o sin firma.

Esta propiedad solamente es aplicable a campos numéricos.

Conceptos relacionados
Formularios de texto

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.