Wednesday, September 22, 2004

Validaciones

Una característica útil de .NET es el manejo de validaciones dentro de los formularios de ingreso de datos, se dispone de un conjunto de controles asp, los cuales poseen distintas formas de validar datos, estas validaciones pueden ejecutarse tanto del lado cliente como del servidor, ¿con qué motivo en el cliente? para que el dato no viaje inútilmente por la web, de todas maneras se validará la información en el servidor, así que cuaquier intento de saltarse las validaciones en el cliente no llevará a hacer pasar la información al servidor. Si no me equivoco, Java lo implementa recién con sus JSF (Java Server Faces), donde también empieza a trabajar con eventos, punto para .NET

Los controles para validación son:
* CompareValidator: Compara dos valores
* CustomValidator: Para usar una fórmula personalizada
* RangeValidator: Compara dentro de un conjunto de datos
* RegularExpressionValidator: Usa expresiones regulares para validar una dirección email por ejemplo
* RequiredFieldValidator: Hace que el campo sea obligatorio
* ValidationSummary: Muestra de manera resumida la información de error de todos los objetos Validator

Para aplicar las validaciones se usa el siguiente control:
<asp:type_of_validator
id="validatorid"
runat="server"
ControlToValidate="control_id"
ErrorMessage="mensaje de error"
Display="static"
Text="Text to display by input control"
> </asp:type_of_validator>

type_of_validator: puede ser cualquiera de los tipos especificados arriba excepto ValidationSummary, que se coloca normalmente al final de la página
ControlToValidate: Es el nombre del control que se validará
ErrorMessage: Es el mensaje de error que se muestra en el summary
Text: Es el mensaje que se muestra cuando el control no pasa la validación
Display: Sirve para evitar que se muestre un espacio vacío en la pantalla justo donde se inserte el Validator.

Cada control validator tiene a su vez propiedades específicas para trabajar con ellos.

Ejemplo: Dentro de un form insertamos varios controles de ingreso de datos

<form id="Form1" method="post" runat="server">
<asp:TextBox id="txtPhone1" Runat="server" />
<asp:RequiredFieldValidator
ID="RequiredtxtPhone1Validator1"
Runat="server" ErrorMessage="A telephone number is required"
ControlToValidate="txtPhone1"
display="Dynamic"></asp:RequiredFieldValidator>


<asp:TextBox ID="txtpwd1" Runat="server">Enter your password</asp:TextBox>

<asp:TextBox ID="txtpwd2" Runat="server">Enter your password again</asp:TextBox>
<asp:CompareValidator
ID="CompareValidator1" Runat="server"
ErrorMessage="These fields do not match"
ControlToCompare="txtpwd1"
ControlToValidate="txtpwd2"></asp:CompareValidator>


<asp:TextBox ID="txtAge" Runat="server">Ingresa tu edad</asp:TextBox>
<asp:RangeValidator
ID="txtAgeValidator"
Runat="server"
ControlToValidate="txtAge" Type="Integer"
MinimumValue="18"
MaximumValue="50"
ErrorMessage="edad debe ser entre 18 y 50"
Display="Dynamic"></asp:RangeValidator>
</form>

0 Comments:

Post a Comment

<< Home