Compartir a través de


Cómo: Validar con respecto a modelos para controles de servidor ASP.NET

Actualización: noviembre 2007

Puede comprobar que la entrada de datos del usuario coincide con un modelo predefinido, como un número de teléfono, un código postal, una dirección de correo electrónico, etc. Para ello, debe utilizar una expresión regular. Para obtener más información sobre expresiones regulares, vea Expresiones regulares de .NET Framework.

Nota de seguridad:

De manera predeterminada, las páginas Web ASP.NET realizan validaciones automáticas para evitar que los usuarios malintencionados intenten enviar secuencias de comandos o elementos HTML a una aplicación. Para obtener más información, vea Información general sobre los ataques mediante secuencias de comandos.

Para validar con una expresión regular

  1. Agregue un control RegularExpressionValidator a la página y establezca las siguientes propiedades:

    Propiedad

    Descripción

    ControlToValidate

    Id. del control que está validando.

    ErrorMessage, Text, Display

    Propiedades que especifican el texto y la ubicación del error o errores que se mostrarán si no se supera la validación. Para obtener información detallada, vea Cómo: Controlar la presentación de los mensajes de error de validación para los controles de servidor ASP.NET.

  2. Establezca el modelo con el que se va a realizar la comparación estableciendo una expresión regular como valor de la propiedad ValidationExpression.

    Nota:

    Si utiliza un diseñador visual, como Visual Studio .NET 2005, puede seleccionar uno de los modelos predefinidos definidos en el control RegularExpressionValidator.

    Si desea que se permitan varios modelos válidos, utilice el carácter de barra vertical (|) para separar expresiones.

    Nota:

    En la validación que se realiza en el cliente, las expresiones regulares se evalúan mediante ECMAScript (JavaScript). Esto es una pequeña diferencia respecto a la comprobación de expresiones regulares en el servidor.

  3. Agregue una prueba al código de la página Web ASP.NET Web para comprobar la validez. Para obtener información detallada, vea Cómo: Probar mediante programación la validez de controles de servidor ASP.NET.

    En el ejemplo de código siguiente se muestra cómo se puede utilizar un control RegularExpressionValidator para comprobar si los usuarios han especificado un código postal de EE.UU. válido. El control de validación comprueba dos modelos: cinco dígitos, y cinco dígitos más un guión y cuatro dígitos más.

    ZIP: <asp:TextBox id="txtZIP" runat="SERVER"></asp:TextBox>
         <asp:RegularExpressionValidator 
           id="txtZIP_validation" runat="SERVER" 
           ControlToValidate="txtZIP" 
           ErrorMessage="Enter a valid US ZIP code."
           ValidationExpression="\d{5}(-\d{4})?">
         </asp:RegularExpressionValidator>
    
    ZIP: <asp:TextBox id="txtZIP" runat="SERVER"></asp:TextBox>
         <asp:RegularExpressionValidator 
           id="txtZIP_validation" runat="SERVER" 
           ControlToValidate="txtZIP" 
           ErrorMessage="Enter a valid US ZIP code."
           ValidationExpression="\d{5}(-\d{4})?">
         </asp:RegularExpressionValidator>
    

Vea también

Conceptos

Tipos de validación para controles de servidor ASP.NET

Otros recursos

Controles de validación ASP.NET