|
|
|
|
- Presentación
- Características de un control: entrada obligatoria
- Entrada obligatoria con bloqueo
- Entrada obligatoria sin bloqueo
- Textos y opciones de visualización: ajustes de la entrada obligatoria
- Características de un control: entrada no válida
- Configurar la verificación de la entrada
- Textos y opciones de visualización: ajustes de la entrada no válida
- Ejemplo
- Gestión de la entrada obligatoria y no válida mediante programación
Entrada obligatoria o no válida en WINDEV
WINDEV y WINDEV Mobile incluyen varias opciones para gestionar las entradas obligatorias o no válidas, tanto en el editor de ventanas como mediante programación. Estas opciones están disponibles para los siguientes controles: - Control Campo de entrada,
- Control Combo Box estándar o con entrada,
- Control Casilla de verificación y Botón de opción,
- Control Valoración.
Puede indicar la entrada obligatoria: - En el texto de ayuda (si el control está vacío),
- Cambiando el estilo de control,
- Con un ícono de entrada obligatoria,
- Con un texto de explicación.
Características de un control: entrada obligatoria WINDEV y WINDEV Mobile incluyen dos modos de gestión de entrada obligatoria: - entrada obligatoria con bloqueo,
- entrada obligatoria sin bloqueo.
Entrada obligatoria con bloqueo La entrada obligatoria con bloqueo impide que el usuario salga de los controles requeridos. Para configurar la entrada obligatoria con bloqueo en un control: - Abra la ventana de descripción del control.
- En la pestaña "Detalles", en "Entrada obligatoria/no válida":
- Seleccione la opción "Entrada obligatoria".
- Seleccione la opción "Impedir salir del control".
Observación: para configurar la indicación de la entrada obligatoria, haga clic en "Textos y opciones de visualización".. - Valide la ventana de descripción del control.
Entrada obligatoria sin bloqueo La entrada obligatoria sin bloqueo permite comprobar al final si algún control requerido ha quedado vacío. Esto evita que el usuario permanezca bloqueado mientras introduce los datos. Para configurar la entrada obligatoria sin bloqueo en un control: - Abra la ventana de descripción del control.
- En la pestaña "Detalles", en "Entrada obligatoria/no válida":
- Seleccione la opción "Entrada obligatoria".
- Seleccione "Utilizar InvalidInputDetect".
Observación: para configurar la indicación de la entrada obligatoria, haga clic en "Textos y opciones de visualización".. - Valide la ventana de descripción del control.
- En el código de validación de la ventana (por ejemplo, en el botón utilizado para agregar datos a una base de datos), utilice la función InvalidInputDetect. Esta función comprueba si se han rellenado todos los controles de entrada obligatoria en la ventana actual. Los controles que no cumplan con los requisitos se resaltarán, según las opciones definidas en "Textos y opciones de visualización".
Observación: En el evento opcional "Autorización para cerrar" también se pueden validar los diferentes elementos de una ventana y llamar a la función InvalidInputDetect. Si este evento devuelve False, la ventana actual no se cerrará. Textos y opciones de visualización: ajustes de la entrada obligatoria El botón "Textos y opciones de visualización" en la pestaña "Detalles" de la ventana de descripción permite definir cambios en la apariencia del control.
Hay dos modos de visualización disponibles: - mostrar una indicación: resalta el control de entrada obligatoria si está vacío ANTES de que se ejecute la función InvalidInputDetect.
- mostrar un error: resalta el control de entrada obligatoria si está vacío DESPUÉS de que se ejecute la función InvalidInputDetect.
En ambos casos, hay varias opciones disponibles: - Modificar estilo del control: Esta opción cambia el estilo del control. El estilo de la indicación y el error se puede establecer en la pestaña "Estilo" del control.
- Mostrar ícono de entrada obligatoria: Esta opción muestra un ícono específico en el control. El ícono y su posición en relación con el área de entrada se pueden definir en la pestaña "Estilo" del control ("Entrada obligatoria (texto de ayuda/error): Explicación e ícono", botón "Ícono".
Si se selecciona esta opción, se puede introducir el texto de explicación. Este texto se mostrará al pasar por encima del control y al hacer clic en el ícono. Observación: Si no se especifica el texto de explicación, se mostrará un texto predeterminado.
- Mostrar texto de explicación: Muestra el texto de explicación debajo del control. Si no se especifica el texto de explicación, se mostrará un texto predeterminado. Atención: Esta opción modifica la interfaz. Si se selecciona esta opción, el texto de ayuda seleccionado se muestra directamente debajo del control en la ventana en modo de edición. Puede que necesite adaptar la interfaz para que el control se muestre en su totalidad.
Características de un control: entrada no válida WINDEV y WINDEV Mobile permiten comprobar si la entrada corresponde a una máscara definida con una variable de tipo InputMask. Si no corresponde, la entrada se considera no válida cuando se llama a la función InvalidInputDetect. Configurar la verificación de la entrada Para configurar la verificación de la entrada en un control: - Defina una variable de tipo InputMask que corresponde a la máscara de entrada que se aplicará al control.
Atención: No olvide definir el procedimiento WLanguage llamado por la propiedad CheckIfValidInput de la variable InputMask. Este procedimiento se llamará automáticamente cuando se utilice la función InvalidInputDetect para determinar si el texto introducido es válido. - Defina la máscara de entrada mediante la propiedad InputMask en el código del control.
- Abra la ventana de descripción del control.
- En la pestaña "Detalles", en "Entrada obligatoria/no válida":
- Seleccione "Utilizar InvalidInputDetect".
- Configure las opciones para indicar la entrada obligatoria en "Textos y opciones de visualización".
- Valide la ventana de descripción del control.
- En el código de validación de la ventana (por ejemplo, en el botón utilizado para agregar datos a una base de datos), utilice la función InvalidInputDetect. Esta función perite comprobar si hay entradas no válidas o vacías.
Textos y opciones de visualización: ajustes de la entrada no válida El botón "Textos y opciones de visualización" en la pestaña "Detalles" de la ventana de descripción permite definir cambios en la apariencia del control.
Si la entrada no es válida, existen varias opciones: - Modificar estilo del control: Modifica el estilo de control. El estilo de los diferentes elementos de la entrada no válida puede definirse en la pestaña "Estilo" del control.
- Mostrar ícono de entrada obligatoria: Muestra un ícono específico en el control. El ícono y su posición en relación con el área de entrada se pueden definir en la pestaña "Estilo" del control ("Entrada no válida: Explicación e ícono", botón "Ícono".
Si se selecciona esta opción, se puede introducir el texto de explicación. Este texto se mostrará al pasar por encima del control y al hacer clic en el ícono. Observación: Si no se especifica el texto de explicación, se mostrará un texto predeterminado.
- Mostrar texto de explicación: Muestra el texto de explicación debajo del control. Si no se especifica el texto de explicación, se mostrará un texto predeterminado. Atención: Esta opción modifica la interfaz. Si se selecciona esta opción, el texto de ayuda seleccionado se muestra directamente debajo del control en la ventana en modo de edición. Puede que necesite adaptar la interfaz para que el control se muestre en su totalidad.
Ejemplo Este ejemplo incluye un control de Campo de entrada (utilizado para introducir un número de teléfono) y un botón de verificación. - El evento "Salida" contiene el siguiente código:
MySelf.InputMask = gMaskPhone
- El código de inicialización del proyecto contiene el siguiente código, el cual define la variable de tipo InputMask:
gsMaskPhone is string = "99 99 99 99 99" gMaskPhone is InputMask gMaskPhone.CheckIfValidInput = CheckIfValidInput gMaskPhone.ValidateDuringInput = ValidateDuringInput gMaskPhone.FormatDuringInput = FormatDuringInput gMaskPhone.FormatDuringExit = FormatDuringExit gMaskPhone.FormatDuringEntry = FormatDuringEntry gMaskPhone.FormatDuringAssignment = FormatDuringAssignment INTERNAL PROCEDURE CheckIfValidInput(sText is string): boolean RETURN MatchRegularExpression(sText , "[0-9 ]*") _AND_ Length(StringFormat(sText, ccIgnoreInsideSpace)) = 10 END INTERNAL PROCEDURE FormatDuringInput(LOCAL sTextBefore is string, LOCAL nCursorBefore is int, LOCAL nEndCursorBefore is int, sTextAfter is string, nCursorAfter is int, nEndCursorAfter is int) IF Length(sTextBefore) > Length(sTextAfter) THEN RESULT //No action if deleting // if at the end IF nEndCursorAfter = Length(sTextAfter) +1 THEN // include " " if needed at this location IF Middle(gsMaskPhone, nEndCursorAfter, 1) = " " THEN sTextAfter += " " nEndCursorAfter ++ nCursorAfter = nEndCursorAfter END END END INTERNAL PROCEDURE ValidateDuringInput(sText string): boolean RETURN MatchRegularExpression(sText , "[0-9 ]*") END INTERNAL PROCEDURE ValidateDuringExit(sText string): boolean RETURN MatchRegularExpression(sText , "[0-9 ]*") END INTERNAL PROCEDURE FormatDuringExit(sText_INOUT is string) FormatStringToPhoneNumber(sText_INOUT) END INTERNAL PROCEDURE FormatDuringEntry(sText_INOUT is string) FormatStringToPhoneNumber(sText_INOUT) END INTERNAL PROCEDURE FormatDuringAssignment(sText_INOUT is string) FormatStringToPhoneNumber(sText_INOUT) END INTERNAL PROCEDURE FormatStringToPhoneNumber(sText_INOUT is string) sOut is string = "" sText_INOUT = StringFormat(sText_INOUT, ccIgnoreInsideSpace + ccIgnoreSpace) let nText = 1 FOR n = 1 _TO_ Length(gsMaskPhone) IF nText > Length(sText_INOUT) THEN BREAK IF gsMaskPhone [n] = " " THEN sOut += " " ELSE sOut += sText_INOUT[nText] nText ++ END END sText_INOUT = sOut END - El botón de verificación contiene el siguiente código:
Gestión de la entrada obligatoria y no válida mediante programación WINDEV y WINDEV Mobile incluyen diferentes propiedades y funciones para gestionar la entrada obligatoria y no válida mediante programación: - Propiedades disponibles:
| | InvalidInputMessage | El InvalidInputMessage Property se utiliza para identificar y set el mensaje que se mostrará si el control contiene datos no válidos (máscara de entrada o valor fuera de los límites). | InvalidInputPreventExit | El InvalidInputPreventExit Property se utiliza para determinar si es posible salir del control en caso de entrada no válida. | MandatoryInput | El MandatoryInput Property se utiliza para determinar si se requiere un control y para activar o desactivar la entrada de datos requerida. | MandatoryInputMessage | El MandatoryInputMessage Property se utiliza para identificar y establecer el mensaje que se mostrará si el control se deja vacío (cuando el MandatoryInput Property está activado). |
- Funciones disponibles:
| | InvalidInputDetect | Detecta y señala un error en los controles requeridos que quedan vacíos y/o en los controles con datos no válidos. | InvalidInputListControl | Construye una lista de controles que requieren entrada de datos/contienen datos no válidos. | InvalidInputShowMessage | Muestra un error de entrada no válido para la control especificada. |
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|