Nuevo control TextBox con mascara para Asp.net

Dirán que soy nostálgico, dirán que me estoy poniendo viejo y pienso que todo tiempo pasado fue mejor.
Digan lo que quieran, pero sigo creyendo que el viejo Picture de FoxPro solucionaba gran parte de los problemas con máscaras en las cajas de texto.
Inspirado en el Dbase y FoxPro, y tal vez como homenaje a esos nobles lenguajes, es que desarrollé este nuevo control que espero nos brinde las mismas satisfacciones.

El control es básicamente un TextBox cuya funcionalidad se ha extendido a través de la interfaz iScripControl, por lo tanto necesita un ScriptManager presente en la página.

Paso a detallar las propiedades que fueron agregadas:

Propiedad Tipo Descripción Defecto
Mascara String Formato con en cual debe rellenarse la caja de texto. String.Empty
AceptaBlanco String Secuencia de ceros y unos indicando que posición es obligatoria. String.Empty
Defecto string Valor inicial del control. string.Empty
FuncionTexto TipoFuncionTexto Lista de operaciones que se ejecutaran al perder el foco. Nothing
CssError string Estilo que tomará el control si no supera la validación. Erroneo
MensajeError string Tooltip o title que tomará el control si no supera la validación. Error de Formato
Validando string Nombre de la función en JavaScript que se ejecutará al validar el control. String.Empty
Mascara
! Solo letras mayúsculas.
¡ Solo letras minúsculas.
X Cualquier caracter.
9 Solo números.
Acepta Blancos
0 Acepta espacios.
1 No acepta espacios.
Funciones
AlinearDerecha Quita todos los espacios previos al texto.
AlinearIzquierda Quita todos los espacios posteriores al texto.
RellenarConCeros Reemplaza los espacios con cero siempre que la mascara indique 9.

Aquí les dejo un ejemplo de uso de este control:

 <MM2:Texto ID="TextoComprob" runat="server" Mascara="9999/9999999" AceptaBlanco="0000/0000000">
    <Funciones>
       <MM2:FuncionTexto Nombre= "AlinearDerecha"></MM2:FuncionTexto>
       <MM2:FuncionTexto Nombre= "RellenarConCeros" ></MM2:FuncionTexto>
    </Funciones>
 </MM2:Texto>

El control solo permitirá la escritura en las posiciones donde haya un caractér control (!¡9X), siempre teniendo en cuenta la función de cada uno de ellos.
Cuando el control pierde el foco o se invoca su validación se ejecutarán las funciones especificadas en la propiedad FuncionTexto, en el orden que fueron escritas. Por lo tanto no es lo mismo invocar la función AlinearDerecha y luego RellenarConCeros, que asignarlas al revés.
Un a vez ejecutadas las funciones de la lista se verificará la obligatoriedad de cada una de la posiciones de acuerdo a la propiedad AceptaBlancos. Por último, y si no hay errores en la máscara, se invocará la función de validación que se haya asignado en la propiedad Validando.

Para mas ejemplos y mejor entendimiento les recomiendo vean el Demo en Vivo del Control Texto cuyo link también figura bajo el título DEMO EN VIVO en el panel derecho del blog.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s