Skip to main content
Validación HTML

Valor inválido “true” para el atributo “multiple” en el elemento “select”.

Acerca de este problema HTML

En HTML, los atributos booleanos funcionan de manera diferente a lo que podrías esperar de los lenguajes de programación. La presencia de un atributo booleano en un elemento representa el valor true, y su ausencia representa false. No los estableces como "true" o "false" como harías en JavaScript u otros lenguajes. Según la especificación HTML de WHATWG, un atributo booleano tiene exactamente tres formas válidas:

  1. Solo el nombre del atributo (ej., multiple)
  2. El atributo con un valor vacío (ej., multiple="")
  3. El atributo con un valor que coincida con su propio nombre, sin distinguir mayúsculas (ej., multiple="multiple")

Establecer multiple="true" es inválido porque "true" no es uno de los valores permitidos. Aunque los navegadores son tolerantes y típicamente seguirán tratando el atributo como presente (efectivamente habilitándolo), esto produce un error de validación W3C y no se ajusta al estándar HTML. Depender de la tolerancia del navegador lleva a comportamientos inconsistentes, hace que tu código sea más difícil de mantener, y puede causar problemas con herramientas de procesamiento HTML o analizadores estrictos.

Esta misma regla se aplica a todos los atributos booleanos en HTML, incluyendo disabled, readonly, checked, required, hidden, autoplay, y muchos otros.

También es importante notar que multiple="false" no deshabilita el atributo. Como el atributo sigue presente en el elemento, el navegador lo trata como habilitado. Para deshabilitar un atributo booleano, debes eliminarlo completamente del elemento.

Ejemplos

❌ Inválido: usar "true" como valor

<label for="colors">Selecciona tus colores favoritos:</label>
<select id="colors" name="colors" multiple="true">
  <option value="red">Rojo</option>
  <option value="green">Verde</option>
  <option value="blue">Azul</option>
</select>

Esto desencadena el error de validación: Valor inválido “true” para el atributo “multiple” en el elemento “select”.

✅ Corregido: solo nombre del atributo (preferido)

<label for="colors">Selecciona tus colores favoritos:</label>
<select id="colors" name="colors" multiple>
  <option value="red">Rojo</option>
  <option value="green">Verde</option>
  <option value="blue">Azul</option>
</select>

✅ Corregido: valor de cadena vacía

<label for="colors">Selecciona tus colores favoritos:</label>
<select id="colors" name="colors" multiple="">
  <option value="red">Rojo</option>
  <option value="green">Verde</option>
  <option value="blue">Azul</option>
</select>

✅ Corregido: valor que coincide con el nombre del atributo

<label for="colors">Selecciona tus colores favoritos:</label>
<select id="colors" name="colors" multiple="multiple">
  <option value="red">Rojo</option>
  <option value="green">Verde</option>
  <option value="blue">Azul</option>
</select>

❌ Error común: usar "false" para deshabilitar

<!-- Esto NO deshabilita la selección múltiple — el atributo sigue presente -->

<select name="colors" multiple="false">
  <option value="red">Rojo</option>
  <option value="green">Verde</option>
</select>

✅ Forma correcta de deshabilitar: eliminar completamente el atributo

<label for="color">Selecciona un color:</label>
<select id="color" name="color">
  <option value="red">Rojo</option>
  <option value="green">Verde</option>
</select>

Encuentra problemas como este automáticamente

Rocket Validator escanea miles de páginas en segundos, detectando problemas de HTML en todo tu sitio web.

Ayúdanos a mejorar nuestras guías

¿Te ha sido útil esta guía?

¿Listo para validar tus sitios?
Inicia tu prueba gratuita hoy.