{"id":66,"date":"2015-04-03T21:49:23","date_gmt":"2015-04-03T21:49:23","guid":{"rendered":"http:\/\/wjharil.com\/blog\/?p=66"},"modified":"2015-10-16T22:45:30","modified_gmt":"2015-10-16T22:45:30","slug":"jquery-validation-validar-formularios","status":"publish","type":"post","link":"https:\/\/wjharil.com\/blog\/jquery-validation-validar-formularios\/","title":{"rendered":"Jquery Validation: Validar formularios web"},"content":{"rendered":"<p>La mayor\u00eda de webs (por no decir todas) hacen uso de <strong>formularios de contacto<\/strong>, suscripciones, cotizaciones, etc. Existen muchas formas de <strong>validar<\/strong> un formulario desarrollado en HTML, pero hoy hablaremos sobre Jquery Validation.<\/p>\n<p>Este plugin hace que la <strong>validaci\u00f3n de formularios<\/strong> sea mucho m\u00e1s f\u00e1cil, adem\u00e1s de ofrecer una personalizaci\u00f3n. El plugin trae por defecto distintos tipos de m\u00e9todos para validar cada campo, ello podemos verlo en su <a href=\"http:\/\/jqueryvalidation.org\/documentation\/\">documentaci\u00f3n <\/a>oficial. Tambi\u00e9n nos proporciona una API para escribir sus propios m\u00e9todos de validaci\u00f3n.<\/p>\n<h2>Jquery Validation: Primeros pasos<\/h2>\n<p>Para comenzar a usar \u00e9ste plugin, basta con <strong>descargarnos<\/strong> desde su p\u00e1gina oficial el plugin y a\u00f1adirlo en la cabecera o pi\u00e9 de p\u00e1gina de nuestro sitio luego de haber agregado el <strong>jQuery 1.6.4+<\/strong>:<\/p>\n<pre class=\"lang:xhtml decode:true \">&lt;script src=\"js\/jquery.validate.js\"&gt;&lt;\/script&gt;\r\n<\/pre>\n<p>Luego de agregarlo, procedemos a crear el formulario. Como ejemplo, vamos a crear un simple<em> formulario de contacto<\/em>.<\/p>\n<pre class=\"lang:xhtml decode:true\">&lt;form id=\"contacto_formulario\" method=\"post\" action=\"\"&gt;\r\n&lt;fieldset&gt;\r\n&lt;legend&gt;Formulario de contacto&lt;\/legend&gt;\r\n&lt;p&gt;\r\n&lt;label for=\"nombre\"&gt;Nombre&lt;\/label&gt;\r\n&lt;input id=\"nombre\" name=\"nombre\" type=\"text\"&gt;\r\n&lt;\/p&gt;\r\n&lt;p&gt;\r\n&lt;label for=\"email\"&gt;Email&lt;\/label&gt;\r\n&lt;input id=\"email\" name=\"email\" type=\"email\"&gt;\r\n&lt;\/p&gt;\r\n&lt;p&gt;\r\n&lt;label for=\"telefono\"&gt;Tel\u00e9fono&lt;\/label&gt;\r\n&lt;input id=\"telefono\" name=\"telefono\" type=\"text\"&gt;\r\n&lt;\/p&gt;\r\n&lt;p&gt;\r\n&lt;label for=\"mensaje\"&gt;Mensaje&lt;\/label&gt;\r\n&lt;textarea id=\"mensaje\" name=\"mensaje\"&gt;&lt;\/textarea&gt;\r\n&lt;\/p&gt;\r\n&lt;p&gt;\r\n&lt;input class=\"submit\" type=\"submit\" value=\"Enviar\"&gt;\r\n&lt;\/p&gt;\r\n&lt;\/fieldset&gt;\r\n&lt;\/form&gt;\r\n<\/pre>\n<p>Luego de haber agregado el c\u00f3digo, podemos agregar el siguiente <strong>c\u00f3digo javascript<\/strong> debajo del plugin.<\/p>\n<pre class=\"\" escaped=\"true\" lang=\"xml\">jQuery(document).ready(function($) {\r\njQuery(\"#contacto_formulario\").validate({\r\nrules: {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 nombre : {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 required : true\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 },\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 email : {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 required : true,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 email : true\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 },\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 telefono : {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 required : true,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 number: true\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 },\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 mensaje : {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 required : true\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 },\r\n},\r\nmessages: {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 nombre: {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 required: \"Ingresa un nombre\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 },\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 email: {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 required: \"Ingresa un email\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 email: \"Ingresa un email v\u00e1lido\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 },\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 telefono: {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 required: \"Ingresa un n\u00famero de tel\u00e9fono\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 number: \"S\u00f3lo debes ingresar n\u00fameros\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 },\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 mensaje: {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 required: \"Ingresa un mensaje\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 },\r\n}\r\n});\r\n});\r\n<\/pre>\n<p>Ahora podemos probar el funcionamiento del formulario. Podemos ver m\u00e1s <a title=\"Demo Jquery validation\" href=\"http:\/\/jqueryvalidation.org\/files\/demo\/\">demos <\/a>para ver otras funcionalidades que se le podr\u00eda dar a \u00e9ste plugin.<\/p>\n<p>M\u00e1s adelante, veremos como agregar m\u00e1s m\u00e9todos de <strong>validaciones con jquery validate<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La mayor\u00eda de webs (por no decir todas) hacen uso de formularios de contacto, suscripciones,<br \/><a class=\"moretag\" href=\"https:\/\/wjharil.com\/blog\/jquery-validation-validar-formularios\/\">Continuar Leyendo...<\/a>","protected":false},"author":1,"featured_media":67,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":["formularios","jquery"],"featured_image_src":"https:\/\/wjharil.com\/blog\/wp-content\/uploads\/2015\/04\/jquery_validation.jpg","categorias":["Facebook","Fuera de tema","Recursos","Tutoriales"],"_links":{"self":[{"href":"https:\/\/wjharil.com\/blog\/wp-json\/wp\/v2\/posts\/66"}],"collection":[{"href":"https:\/\/wjharil.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wjharil.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wjharil.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wjharil.com\/blog\/wp-json\/wp\/v2\/comments?post=66"}],"version-history":[{"count":8,"href":"https:\/\/wjharil.com\/blog\/wp-json\/wp\/v2\/posts\/66\/revisions"}],"predecessor-version":[{"id":86,"href":"https:\/\/wjharil.com\/blog\/wp-json\/wp\/v2\/posts\/66\/revisions\/86"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wjharil.com\/blog\/wp-json\/wp\/v2\/media\/67"}],"wp:attachment":[{"href":"https:\/\/wjharil.com\/blog\/wp-json\/wp\/v2\/media?parent=66"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wjharil.com\/blog\/wp-json\/wp\/v2\/categories?post=66"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wjharil.com\/blog\/wp-json\/wp\/v2\/tags?post=66"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}