Pop

25.Aplicaciones web.Validadores.Curso de C# con Visual Studio 2017.

  25- . Aplicaciones web.Validadores

   - En este capítulo del curso de programación en c# con visual studio 2017,vamos a ver algunos de los controles de validación que trae este entorno de programación.Nos centraremos en tres de ellos:
RequiredFieldValidator , RegularExpressionValidatorCompareValidator:

  • RequiredFieldValidator: Con este control obligamos al usuario a que rellene todos los campos de entrada necesarios en un formulario.
  • RegularExpressionValidator: Comprueba que los datos proporcionados por el usuario coinciden con un modelo definido por una expresión regular.
  • CompareValidator : Compara los datos de los dos controles que se le especifiquen.

- El más complejo de los tres controles quizás sea el  RegularExpressionValidator porque es necesario conocer el funcionamiento de las expresiones regulares.Para los que no sepáis lo que son aqui os dejo un enlace. En el video os explico como usar este control y los otros dos.



- Para comprender mejor las expresiones regulares vamos a intentar analizar una:

   string expresion= "href\\s*=\\s*(?:[\"'](?<1>[^\"']*)[\"']|(?<1>\\S+))";


  1. href: Busca coincidencias con la cadena literal "href". La búsqueda no distingue entre mayúsculas y minúsculas.
  2. \s*: Busca coincidencias con cero o más caracteres de espacio en blanco.
  3. =:  Busca coincidencias con el signo de igualdad.
  4. \s*: Busca coincidencias con cero o más caracteres de espacio en blanco.
  5.  (?:["'](?<1>[^"']*)"|(?<1>\S+)): Busca coincidencias con uno de los siguientes elementos sin asignar el resultado a un grupo capturado: 
    • Una comilla o apóstrofo, seguido de cero o más apariciones de cualquier carácter que no sea una comilla o un apóstrofo, seguido por una comilla o un apóstrofo.Este modelo incluye el grupo denominado 1.
    • Uno o más caracteres que no sean un espacio en blanco.Este modelo incluye el grupo denominado 1.

      6. (?<1>[^"']*): Asigna cero o más apariciones de cualquier carácter distinto de una comilla o un apóstrofo al grupo de captura denominado 1.
     7."(?<1>\S+): Asigna uno o más caracteres que no sean un espacio en blanco al grupo de captura denominado 1.


- Os dejo también unos enlaces para completar información sobre los tres controles vistos en el video:


- También os dejo el código fuente tanto de la parte de cliente vista en el video:

 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AltaUsuario.aspx.cs" Inherits="GestionVarios.AltaUsuario" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
</head>
<body>
    <form id="form1" runat="server">

        <table width="700px" border="0" cellpadding="0" cellspacing="0" align="center">
            <tr>
                <td width="700px" style="height: 40px; vertical-align: middle;" colspan="2" align="left">
                    <h1>Datos de acceso</h1>
               
                </td>
            </tr>
            <tr>
                <td width="250px" height="22px" align="left" style="vertical-align: top">Dirección de E-Mail:
                </td>
                <td width="450px" align="left" style="vertical-align: top">
                    <asp:TextBox ID="mtxtEMail" runat="server" Width="300px"  ForeColor="Black" ></asp:TextBox>
                    <asp:RequiredFieldValidator ID="mreqEMail" runat="server" ControlToValidate="mtxtEMail" ErrorMessage="*" Display="Dynamic" ForeColor="Red"  ></asp:RequiredFieldValidator><br />
                    <asp:RegularExpressionValidator ID="mregEMail" runat="server" ControlToValidate="mtxtEMail" ErrorMessage="La Dirección de E-Mail especificada no es válida.<br>" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" Display="Dynamic"  ForeColor="Red"></asp:RegularExpressionValidator>
                </td>
            </tr>
            <tr>
                <td width="250px" height="22px" align="left" style="vertical-align: top">Contraseña:
                </td>
                <td width="450px" align="left" style="vertical-align: top">
                    <asp:TextBox ID="mtxtPassword" runat="server" Width="150px" MaxLength="20" TextMode="Password"></asp:TextBox>
                    <br />
                    <asp:RequiredFieldValidator ID="mreqPassword" runat="server" ControlToValidate="mtxtPassword" ErrorMessage="Debe especificar una contraseña de al menos 6 caracteres.<br>" Display="Dynamic" ForeColor="Red"></asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator ID="mregPassword" runat="server" ControlToValidate="mtxtPassword" ErrorMessage="La contraseña no es correcta (min. 6 cars)." ValidationExpression="\w+.{5,}" Display="Dynamic" ForeColor="Red"></asp:RegularExpressionValidator>
                </td>
            </tr>
            <tr>
                <td width="250px" height="22px" align="left" style="vertical-align: top">Confirmar Contraseña:
                </td>
                <td width="450px" align="left" style="vertical-align: top">
                    <asp:TextBox ID="mtxtPassword2" runat="server" Width="150px" MaxLength="20" TextMode="Password"  ></asp:TextBox>
                   <br />
                    <asp:RequiredFieldValidator ID="mreqPassword2" runat="server" ControlToValidate="mtxtPassword2" ErrorMessage="Debe confirmar la contraseña.<br>" Display="Dynamic" ForeColor="Red"></asp:RequiredFieldValidator>
                    <asp:CompareValidator ID="mcomPasswords" runat="server" ErrorMessage="Las contraseñas no son iguales." Display="Dynamic" ControlToCompare="mtxtPassword" ControlToValidate="mtxtPassword2" ForeColor="Red"></asp:CompareValidator>
                </td>
            </tr>
            <tr>
                <td width="700px" style="height: 40px; vertical-align: middle;" colspan="2" align="center">
                    <asp:Button ID="mbtnRegistrar" runat="server" Text="ALTA" OnClick="mbtnRegistrar_Click" />

                </td>
            </tr>
            </tr>
        </table>
    </form>
</body>
</html>
 

   

No hay comentarios:

Publicar un comentario

Curso .NET Core en C# - 34.Creamos nuestro propio log

34.Creamos nuestro propio log Hola a todos. En este curso, analizaremos todos los conceptos básicos, intermedios y avanzados de  ASP.NET...