Ir al contenido principal

jQuery: Validate() para gente con prisas

Este plug-in de jQuery es muy potente para realizar validación javascript previa a la llamada al servidor. Aquí expongo un ejemplo en Asp.net Mvc2.



1) Incluir librería (en el ejemplo, con T4mvc):

<script src="<%: Links.Content.js.jquery_validate_min_js %>" type="text/javascript"> script>

2) Identificas el formulario a validar con un id : “Alta”

<% using (Html.BeginForm("Alta""Registro"nullFormMethod.Post, new { id = "alta" }))
       { %>
    <fieldset class="formulario">
        <div class="formAlta">
            <p>
                <strong>
                    <%: Html.LabelFor(model => model.Usuario.Persona1.Nombre)%>
                strong>
            p>
        div>

3) En el content donde colocas el código Javascript relacionas la función con el formulario mediante el identificador “Alta”:

<asp:Content ID="Content4" ContentPlaceHolderID="ScriptsContenido" runat="server">

 <script type="text/javascript">
     $().ready(function () {
         $("#alta").validate({


  
4) Defines la regla:

rules: {
"Usuario.Persona1.Nombre": {
                     required: true,
                     minlength: 2
                 }
},


5)   Defines el mensaje a mostrar para cada elemento:

   messages: {
  "Usuario.Persona1.Nombre": {
         required: "Nombre obligatorio",
         minlength: "El nombre debe tener al menos 2 caracteres"
   }



6) Adaptas el CSS.


7) Anexo I : Para validadar algo un poco más complejo, como por ejemplo que el Email no existe en la base de datos:

7.1 )  En la vista .ascx ( con javascript empotrado)

rules: {
                 "Usuario.Email": {
                     required: true,
                     email: true,
                     remote: { url: "/Registro/CompruebaEmail", async: true, type: "post" }
                 },


7.2) En el controlador:

        ///
        /// Comprobamos que el email no exista ya en la base de datos

      ///

        /// Email que no debe existir ya en nuestra base de datos
        /// Devolvemos true o false en formato json
        public virtual JsonResult CompruebaEmail(FormCollection form)
        {
            string email = Request.Params["Usuario.Email"];
            bool noExiste = usuarioNegocio.ObtenerTodosLosElementos().Where(u => u.Email.Equals(email)).Count() == 0;
            return Json( noExiste );
        }



8)  Página oficial :

Comentarios

Entradas populares de este blog

Trucos Badoo de un perro viejo

Dentro de poco haré 3 años en Badoo. Tuve una primer época en el que me lo tomé muy en serio, estuve muy metido y tuve los mejores resultados. De aquellas experiencias acabé escribiendo ésta, la página de más éxito de este blog. Pero ya llevo una muy larga temporada en el que entro de forma bastante intermitente. 

¿Está este artículo escrito por alguien harto de badoo? ¿Estoy quemado como la mayoría? Yo diría que no, pero...

IV Parte : Trucos para Badoo

No se ve el icono de Word : Solución

De golpe los ficheros de word no pintan el icono correspondiente en Windows, por alguna razón el icono no se ve aunque la aplicación sí se abre bien. 
Los hay muy brutos que deciden reinstalar todo el Office...