Skip to main content
Validación HTML

Valor incorrecto X para el atributo “multiple” en el elemento “input”.

Acerca de este problema HTML

El atributo multiple le dice al navegador que el usuario puede proporcionar más de un valor para un input determinado. Para <input type="file">, permite seleccionar múltiples archivos a la vez. Para <input type="email">, permite introducir una lista de direcciones de correo separadas por comas. Estos son los únicos dos tipos de input que soportan el atributo multiple según la especificación HTML.

Este error de validación puede aparecer por dos razones distintas, y a veces por ambas a la vez:

  1. Se asigna un valor inválido al atributo booleano. Los atributos booleanos en HTML siguen reglas estrictas. Las sintaxis válidas son: solo el nombre del atributo (multiple), un valor de cadena vacía (multiple=""), o el propio nombre del atributo como valor (multiple="multiple"). Cualquier otro valor — incluyendo multiple="true", multiple="1", o multiple="yes" — es inválido.

  2. El atributo se usa en un tipo de input no soportado. Colocar multiple en tipos de input como text, number, password, o url no es válido porque esos tipos no definen comportamiento para este atributo. Los navegadores simplemente lo ignorarán, pero aún así constituye marcado inválido.

Por qué es importante

  • Cumplimiento de estándares: Los valores de atributos booleanos inválidos violan la especificación HTML de WHATWG. Aunque la mayoría de navegadores son permisivos y pueden interpretar multiple="true" como que el atributo está presente, depender de este comportamiento es frágil y no estándar.
  • Accesibilidad: Las tecnologías de asistencia dependen de un marcado válido y bien estructurado. Un valor de atributo inválido podría llevar a comportamientos impredecibles en lectores de pantalla u otras herramientas.
  • Mantenibilidad: Usar multiple en un tipo de input no soportado sugiere una mala comprensión de las capacidades del elemento, lo que puede confundir a otros desarrolladores y llevar a errores.

Cómo solucionarlo

  • Elimina el valor completamente: Cambia multiple="1" o multiple="true" a simplemente multiple.
  • Usa una sintaxis booleana válida si se requiere un valor: Algunos sistemas de plantillas o contextos basados en XML (como XHTML) requieren valores de atributos explícitos. En esos casos, usa multiple="" o multiple="multiple".
  • Asegúrate de que el tipo de input soporte multiple: Solo type="email" y type="file" aceptan este atributo. Si necesitas entrada de múltiples valores para otros tipos, considera enfoques alternativos como múltiples inputs separados, un elemento <select multiple>, o una solución basada en JavaScript.

Ejemplos

Inválido: valor incorrecto en un atributo booleano

<!-- Malo: "1" no es un valor de atributo booleano válido -->

<input type="file" name="attachments" multiple="1">

<!-- Malo: "true" no es un valor de atributo booleano válido -->

<input type="email" name="recipients" multiple="true">

Inválido: multiple en un tipo de input no soportado

<!-- Malo: type="text" no soporta el atributo multiple -->

<input type="text" name="tags" multiple>

<!-- Malo: type="number" no soporta el atributo multiple -->

<input type="number" name="quantities" multiple>

Válido: uso correcto de multiple

<!-- Correcto: atributo booleano sin valor -->

<input type="file" name="attachments" multiple>

<!-- Correcto: valor de cadena vacía (sintaxis booleana válida) -->

<input type="email" name="recipients" multiple="">

<!-- Correcto: nombre del atributo como valor (válido para compatibilidad con XHTML) -->

<input type="file" name="documents" multiple="multiple">

Documento completo corregido

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Upload Form</title>
</head>
<body>
  <form action="/submit" method="post" enctype="multipart/form-data">
    <label for="recipients">Recipients:</label>
    <input type="email" id="recipients" name="recipients" multiple placeholder="a@example.com, b@example.com">

    <label for="files">Attachments:</label>
    <input type="file" id="files" name="files" multiple>

    <button type="submit">Send</button>
  </form>
</body>
</html>

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.