Restringir Tamaño de entrada en campos de un Tabular Form

Este sera uno de los TANTOS posts que tendré sobre las fascinantes y generalmente frustrantes tabular forms. en esta ocación les mostrare como restringir el valor de entrada de un campo en textarea en un tabular form, funciona para los demás tipo de campos en los que el usuario ingresa texto.

Lo primero que tendremos que hacer sera crear una función de JavaScript que validara la cantidad de caracteres que tiene un campo. en caso de que supere esa cantidad, recortara el contenido al limite permitido.
function textSize(field,maxlimit)
{
if (field.value.length > maxlimit){
    field.value = field.value.substring(0, maxlimit);
  }
}
Guardamos este script en un archivo, por ejemplo 'Functions.js' y lo cargamos a Apex. Para esto vamos a "shared components > Files > Static Files >Create", aqui. seleccionamos el archivo que creamos y lo cargamos.

Ahora para importarlo en las páginas tenemos 2 opciones, importarlo en el template o en las páginas que usaran el script. La que escojan depende de cuantas páginas usaran este Script. en ambos casos usaremos el siguiente código.

Aunque por ser un script tan pequeño no haría mucha diferencia importarlo o no, en cambio nos ahorraremos mucho trabajo y errores al importarlo en el Template. Para ello vamos a "Shared Componets > Templates" y en cada template de página que usaremos colocamos el código entre las etiquetas "head" en la sección de Header.

Con eso ya se importara el JavaScript en todas las páginas, Ahora solo debemos usarlo.

Despues de crear el Tabular form, vamos a los atributos de la columna en la que queremos usar el script y en "Element Attributes" colocamos:

onkeyup="textSize(this,5);" onchange="textSize(this,5);"

Remplazando el 5 por la cantidad máxima de carácteresque queremos permitir. De esta forma se ejecutara la validación cuando se ingrese texto y cuando este cambie. Si solo dejamos el primer caso, se podría ingresar más texto del permitido al pegarlo con el mouse, y si dejamos solo el segundo, el usuario podría después salir con la excusa de que no le guardo todo, por que ingresa texto, pero este solo se recorta cuando nos salimos del textArea que puede coincidir con el momento en el que el usuario oprime el botón para guardar.

Ahora como es costumbre mía, les dejare un vídeo de alguna canción cuando el post no tenga tantas imágnenes, esta vez el turno es para Comunication de Perfume, disfrutenla :D


Comments

Popular posts from this blog

View PDF File on APEX (Simple approach)

Set Custom APP Icon on APEX

ID Basado en trigger y secuencia para todas las tablas - Oracle