{"id":90597,"date":"2024-07-13T04:32:00","date_gmt":"2024-07-12T19:32:00","guid":{"rendered":"https:\/\/contactform7.com\/?p=90597"},"modified":"2025-07-01T04:37:47","modified_gmt":"2025-06-30T19:37:47","slug":"consistent-handling-policy-of-surrounding-whitespaces","status":"publish","type":"post","link":"https:\/\/contactform7.com\/es\/2024\/07\/13\/consistent-handling-policy-of-surrounding-whitespaces\/","title":{"rendered":"Pol\u00edtica de manejo consistente de los espacios en blanco circundantes"},"content":{"rendered":"\n<p>En cuanto a la validaci\u00f3n de entradas de usuario, Contact Form 7 b\u00e1sicamente ha emulado lo establecido en la especificaci\u00f3n HTML y las implementaciones de los principales navegadores. Sin embargo, hay un problema: no manejan los espacios en blanco circundantes de forma coherente.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Por ejemplo, puedes ingresar <code><code>\u2423<\/code>http:\/\/example.com<code>\u2423<\/code><\/code> (una URL v\u00e1lida con espacios al inicio y al final) en un campo de URL sin que se genere un error de validaci\u00f3n. Pero si ingresas <code><code><code>\u2423<\/code><\/code>example@example.com<code><code>\u2423<\/code><\/code><\/code> (un correo v\u00e1lido con espacios al inicio y al final) en un campo de correo electr\u00f3nico, se genera un error <code>typeMismatch<\/code>.<\/p>\n\n\n\n<p>Otro ejemplo se encuentra en un campo obligatorio. Si dejas un campo obligatorio en blanco, obtendr\u00e1s un error <code>valueMissing<\/code>. Pero puedes pasar la validaci\u00f3n ingresando cualquier car\u00e1cter, incluso espacios en blanco. Para muchas personas, el hecho de que espacios en blanco sean suficientes para pasar la validaci\u00f3n de un campo obligatorio puede resultar contraintuitivo.<\/p>\n\n\n\n<p>En resumen, algunas comprobaciones de validez se ejecutan luego de eliminar los espacios en blanco circundantes, mientras que otras no.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"solution-introduce-a-consistent-policy\">Soluci\u00f3n: implementar una pol\u00edtica coherente<\/h4>\n\n\n\n<p>Para evitar este problema, introducimos nuestra propia pol\u00edtica para el manejo de espacios en blanco circundantes, en lugar de cumplir autom\u00e1ticamente con lo que dicta la especificaci\u00f3n HTML.<\/p>\n\n\n\n<p>La pol\u00edtica es la siguiente: antes de aplicar una validaci\u00f3n, se eliminar\u00e1n los espacios en blanco al inicio y al final del valor ingresado por el usuario, sin importar el tipo de campo ni el tipo de regla de validaci\u00f3n. Por \u00abespacios en blanco\u00bb no nos referimos solo al car\u00e1cter de espacio ASCII (U+0020), sino a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Whitespace_character#Unicode\" data-type=\"link\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Whitespace_character#Unicode\">todos los caracteres de espacio en blanco definidos por Unicode<\/a>.<\/p>\n\n\n\n<p>Con base en esta pol\u00edtica, cada regla de validaci\u00f3n se aplicar\u00e1 despu\u00e9s de eliminar los espacios en blanco circundantes. Por lo tanto, el ejemplo <code><code><code>\u2423<\/code><\/code>example@example.com<code><code>\u2423<\/code><\/code><\/code> ser\u00e1 aceptado como un correo v\u00e1lido, y un campo obligatorio no aceptar\u00e1 una entrada que consista solo en caracteres de espacio en blanco.<\/p>\n\n\n\n<p>Todos nuestros productos que realizan validaci\u00f3n de entrada de usuario (Contact Form 7, Schema-Woven Validation, entre otros) se adaptar\u00e1n a esta nueva pol\u00edtica.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En cuanto a la validaci\u00f3n de entradas de usuario, Contact Form 7 b\u00e1sicamente ha emulado lo establecido en la especificaci\u00f3n HTML y las implementaciones de los principales navegadores. Sin embargo, hay un problema: no manejan los espacios en blanco circundantes de forma coherente.<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_locale":"es_ES","_original_post":"https:\/\/contactform7.com\/?p=56498","footnotes":"","jetpack_post_was_ever_published":false},"categories":[20],"tags":[31],"class_list":["post-90597","post","type-post","status-publish","format-standard","hentry","category-announcement","tag-swv","es-ES"],"jetpack_featured_media_url":"","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/posts\/90597","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/comments?post=90597"}],"version-history":[{"count":0,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/posts\/90597\/revisions"}],"wp:attachment":[{"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/media?parent=90597"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/categories?post=90597"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/tags?post=90597"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}