{"id":196,"date":"2011-06-14T15:21:55","date_gmt":"2011-06-14T15:21:55","guid":{"rendered":"https:\/\/www.jose-aguilar.com\/blog\/?p=196"},"modified":"2012-02-29T21:27:09","modified_gmt":"2012-02-29T21:27:09","slug":"validar-formulario-con-javascript","status":"publish","type":"post","link":"https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/","title":{"rendered":"Validar formulario con javascript"},"content":{"rendered":"<p>Vamos realizar un ejemplo de un formulario completo para validar. Las validaciones se hacen en el propio navegador antes de enviarlo. Si hubo alg\u00fan campo no relleno o con informaci\u00f3n err\u00f3nea, el formulario muestra el campo que est\u00e1 incorrecto y solicita al usuario que lo cambie. Si todos los datos del formulario son correctos se env\u00eda el formulario.<\/p>\n<p>Hemos querido hacer un formulario sencillo, para que el ejercicio no se haga demasiado complicado. No obstante, se realizan validaciones en campos con distintos valores, para hacerlo m\u00e1s variado. Se comprueba un campo donde debe figurar un texto, otro donde debe introducirse un n\u00famero mayor que 18 y un \u00faltimo con un campo select donde deben haber seleccionado un valor.<\/p>\n<p>Lo primero que debemos considerar para que todo funcione como esperamos es declarar los tags del formulario y del bot\u00f3n submit como mostramos a continuaci\u00f3n:<\/p>\n<pre id=\"line\">&lt;form name=\"fvalida\" method=\"POST\"&gt;\r\n  ...\r\n&lt;input type=\"button\" value=\"Enviar\" onclick=\"validarform()\"&gt;<\/pre>\n<p>Nos debemos fijar expresamente en el tag &lt;form&gt; que no lleva action=\u00bb\u00bb, los datos se env\u00edan mediante el m\u00e9todo POST y tiene un name=\u00bbfvalida\u00bb.<\/p>\n<p>Tendremos un bot\u00f3n type=\u00bbbutton\u00bb que al hacer click en \u00e9l, ejecutaremos la funci\u00f3n validarform(). En medio de estos tags tendremos todos los inputs del formulario.<\/p>\n<p>La funci\u00f3n javascript validarform() es la que se encarga de mostrarnos los mensajes de error si en los campos del formulario no se ha introducido una cadena de texto esperada.<\/p>\n<pre id=\"line\">&lt;script type=\"text\/javascript\"&gt;\r\nfunction validarEntero(valor){\r\n   \/\/intento convertir a entero.\r\n   \/\/si era un entero no le afecta, si no lo era lo intenta convertir\r\n   valor = parseInt(valor)\r\n\r\n   \/\/Compruebo si es un valor num\u00e9rico\r\n   if (isNaN(valor)) {\r\n      \/\/entonces (no es numero) devuelvo el valor cadena vacia\r\n      return \"\"\r\n   }else{\r\n      \/\/En caso contrario (Si era un n\u00famero) devuelvo el valor\r\n      return valor\r\n   }\r\n}\r\n\r\nfunction validarform(){\r\n   \/\/valido el nombre\r\n   if (document.fvalida.nombre.value.length==0){\r\n      alert(\"Tiene que escribir su nombre\")\r\n      document.fvalida.nombre.focus()\r\n      return 0;\r\n   }\r\n\r\n   \/\/valido la edad. tiene que ser entero mayor que 18\r\n   edad = document.fvalida.edad.value\r\n   edad = validarEntero(edad)\r\n   document.fvalida.edad.value=edad\r\n   if (edad==\"\"){\r\n      alert(\"Tiene que introducir un n\u00famero entero en su edad.\")\r\n      document.fvalida.edad.focus()\r\n      return 0;\r\n   }else{\r\n      if (edad&lt;18){\r\n         alert(\"Debe ser mayor de 18 a\u00f1os.\")\r\n         document.fvalida.edad.focus()\r\n         return 0;\r\n      }\r\n   }\r\n\r\n   \/\/valido el inter\u00e9s\r\n   if (document.fvalida.interes.selectedIndex==0){\r\n      alert(\"Debe seleccionar un motivo de su contacto.\")\r\n      document.fvalida.interes.focus()\r\n      return 0;\r\n    }\r\n\r\n    \/\/el formulario se envia\r\n    alert(\"Muchas gracias por enviar el formulario\");\r\n    document.fvalida.submit();\r\n}\r\n&lt;\/script&gt;<\/pre>\n<p><a href=\"..\/..\/scripts\/javascript\/validateform\/\">Ver el ejemplo en funcionamiento<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vamos realizar un ejemplo de un formulario completo para validar. Las validaciones se hacen en el propio navegador antes de enviarlo. Si hubo alg\u00fan campo no relleno o con informaci\u00f3n err\u00f3nea, el formulario muestra el campo que est\u00e1 incorrecto y solicita al usuario que lo cambie. Si todos los datos del formulario son correctos se [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6469,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[84,77],"class_list":["post-196","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript","tag-formularios","tag-validaciones"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Validar formulario con javascript - Jose Aguilar Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Validar formulario con javascript - Jose Aguilar Blog\" \/>\n<meta property=\"og:description\" content=\"Vamos realizar un ejemplo de un formulario completo para validar. Las validaciones se hacen en el propio navegador antes de enviarlo. Si hubo alg\u00fan campo no relleno o con informaci\u00f3n err\u00f3nea, el formulario muestra el campo que est\u00e1 incorrecto y solicita al usuario que lo cambie. Si todos los datos del formulario son correctos se [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Jose Aguilar Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/joseaguilarblog\" \/>\n<meta property=\"article:published_time\" content=\"2011-06-14T15:21:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2012-02-29T21:27:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2014\/10\/Imagen-no-disponible-282x300.png\" \/>\n\t<meta property=\"og:image:width\" content=\"282\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jose Aguilar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:site\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jose Aguilar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/\",\"name\":\"Validar formulario con javascript - Jose Aguilar Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2014\/10\/Imagen-no-disponible-282x300.png\",\"datePublished\":\"2011-06-14T15:21:55+00:00\",\"dateModified\":\"2012-02-29T21:27:09+00:00\",\"author\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/#primaryimage\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2014\/10\/Imagen-no-disponible-282x300.png\",\"contentUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2014\/10\/Imagen-no-disponible-282x300.png\",\"width\":282,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/www.jose-aguilar.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Validar formulario con javascript\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/\",\"name\":\"Jose Aguilar Blog\",\"description\":\"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\",\"name\":\"Jose Aguilar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"caption\":\"Jose Aguilar\"},\"description\":\"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.\",\"sameAs\":[\"https:\/\/plus.google.com\/114357189801512615537\"],\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Validar formulario con javascript - Jose Aguilar Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"es_ES","og_type":"article","og_title":"Validar formulario con javascript - Jose Aguilar Blog","og_description":"Vamos realizar un ejemplo de un formulario completo para validar. Las validaciones se hacen en el propio navegador antes de enviarlo. Si hubo alg\u00fan campo no relleno o con informaci\u00f3n err\u00f3nea, el formulario muestra el campo que est\u00e1 incorrecto y solicita al usuario que lo cambie. Si todos los datos del formulario son correctos se [&hellip;]","og_url":"https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/","og_site_name":"Jose Aguilar Blog","article_publisher":"https:\/\/www.facebook.com\/joseaguilarblog","article_published_time":"2011-06-14T15:21:55+00:00","article_modified_time":"2012-02-29T21:27:09+00:00","og_image":[{"width":282,"height":300,"url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2014\/10\/Imagen-no-disponible-282x300.png","type":"image\/png"}],"author":"Jose Aguilar","twitter_card":"summary_large_image","twitter_creator":"@JoseAguilarBlog","twitter_site":"@JoseAguilarBlog","twitter_misc":{"Escrito por":"Jose Aguilar","Tiempo de lectura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/","url":"https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/","name":"Validar formulario con javascript - Jose Aguilar Blog","isPartOf":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/#primaryimage"},"image":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2014\/10\/Imagen-no-disponible-282x300.png","datePublished":"2011-06-14T15:21:55+00:00","dateModified":"2012-02-29T21:27:09+00:00","author":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11"},"breadcrumb":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/#primaryimage","url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2014\/10\/Imagen-no-disponible-282x300.png","contentUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2014\/10\/Imagen-no-disponible-282x300.png","width":282,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.jose-aguilar.com\/blog\/validar-formulario-con-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.jose-aguilar.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Validar formulario con javascript"}]},{"@type":"WebSite","@id":"https:\/\/www.jose-aguilar.com\/blog\/#website","url":"https:\/\/www.jose-aguilar.com\/blog\/","name":"Jose Aguilar Blog","description":"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11","name":"Jose Aguilar","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","caption":"Jose Aguilar"},"description":"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.","sameAs":["https:\/\/plus.google.com\/114357189801512615537"],"url":"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/"}]}},"_links":{"self":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/comments?post=196"}],"version-history":[{"count":0,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/196\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media\/6469"}],"wp:attachment":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media?parent=196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/categories?post=196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/tags?post=196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}