2010/09/05

Validacion en UserControls

Los UserControls nos permiten encapsular cierto funcionamiento de manera que pueda o no interferir con el funcionamiento global de la pagina que lo contiene.

Hay situaciones en las que deseamos que el funcionamiento sea completamente independiente, en estos casos queremos que también la validación (a través de RequiredFieldValidator, RangeValidator, ValidationSummary, etc) sea independiente.

Para estos casos necesitamos hacer uso de una propiedad que poseen los controles llamada: ValidationGroup
De esta forma lo que haremos en encapsular la validacion de un UserControl con un codigo unico para que no modifique el funcionamiento habitual de la pagina, por ejemplo, un boton de la pagina contenedora no se verá afectada por los campos requeridos de nuestro UserControl.

Una manera de asegurarnos que el codigo del grupo de validacion sea unico es agregar una propiedad interna a nuestro UserControl:

protected string UniqueValidationGroup { get { return this.ClientID + "MyValidationGroup"; } }


Y luego desde el código usarla para setiar el ValidationGroup, en cada control que lo necesite los cuales serán tipicamente los controles de validación (RequiredFieldValidator, RangeValidator, ValidationSummary, etc) asi como tambien los botones que deberian causar esas validaciones dentro de nuestro UserControl.

ValidationGroup='<%# UniqueValidationGroup %>'

No hay comentarios:

Publicar un comentario