validar validacion vacios formularios formulario enviar ejemplos ejemplo crear con campos antes javascript html hidden-field

javascript - validacion - ¿Es una mala práctica usar campos ocultos?



validar formulario javascript html5 (5)

Un compañero programador me dijo que era una "mala práctica" usar campos ocultos en mi código HTML. Esencialmente, tengo una lista desordenada en la que un usuario selecciona un elemento según la categoría que seleccionó (las categorías son imágenes). Luego llama a javascript para establecer un campo oculto al valor que seleccionó el usuario para que pueda enviarlo junto con el formulario enviado. ¿Es esta realmente una mala práctica, hay otra forma en que debería estar haciendo esto?


Es generalmente una mala práctica almacenar el valor de javascript en HTML DOM. Debes intentar crear una lista almacenada en tu entorno javascript.

window.myList = new Array();

Te recomiendo que uses algo como Underscore.js o incluso Backbone.js cuando tengas muchas cosas.

Si solo utiliza estos datos en el envío, su caso parece legítimo.


Es una mala práctica usar campos ocultos para obtener información que debe ser segura. Cuando no hay un problema de seguridad, generalmente está bien usar campos ocultos.


Esta es una práctica muy común. El único problema que se me ocurre en su caso es que se interrumpirá si su visitante tiene JavaScript deshabilitado, por lo que es posible que desee un respaldo.


Si desea enviar un formulario y necesita pasar algunos valores simples que no están contenidos en los campos de formulario visibles, entonces un campo oculto es probablemente la forma más antigua, confiable y limpia de hacerlo.

Considera las alternativas:

  1. Inútil: no pasar nada escondido.

  2. Pobre: ​​abstracciones, como ASP.Net viewstate que utiliza un campo oculto de todos modos pero contamina el modelo de solicitud (y puede agregar un montón de datos innecesarios a menos que tenga cuidado, y la mayoría de las personas no lo hacen).

  3. MALO: Pasa todos los valores de formulario en la cadena de consulta. Por lo general, esto no es RESTful y puede ser absolutamente dañino (el usuario marca una cadena de consulta que realiza una acción inesperada).

  4. Tal vez: manualmente, valores POST utilizando AJAX. Esta puede ser una implementación muy válida, suponiendo que solo desea realizar una operación asíncrona.

  5. Tal vez: viaje de ida y vuelta completo donde el servidor maneja el cambio (puede ser la única forma de admitir a los usuarios sin JavaScript).


existen campos ocultos, por lo que uno puede establecer un valor en un formulario sin mostrar una entrada, no entiendo cómo es una mala práctica usarlos. Si necesita crear un widget personalizado y enviar su valor a través de un formulario, es la forma más fácil de hacerlo, aún podría usar los botones de selección con listas de selección dinámicas, pero tendrá que hacer feos trucos para hacer que la interfaz se vea bonita.