El rasgo de casilla de verificación no elimina el atributo cuando está desmarcado
@artf Gracias por la solución rápida, pero parece que no funciona. Tanto la inspección de la fuente de Grapes como la llamada 'getHtml()' devolven 'required="true"' y 'required="false"'. Supongo que porque el atributo es un valor booleano representado como una cadena. Lo haré cuando pueda, pero, por desgracia, tengo u...
Lee la respuesta completa abajo ↓Pregunta
Cuando los atributos html son verdaderos o falsos, deberían existir o no existir.
Por ejemplo, 'obligatorio'. Esto no tiene valor en HTML5.
- Válido (no requerido):'''<tipo de entrada="texto">'''
- Válido (obligatorio): '''<tipo de entrada="texto" requerido>'''
- Inválido (no requerido):'''<tipo de entrada="texto" requerido="falso">'''
- Inválido (requerido):'''<tipo de entrada="texto" requerido="true">'''
Cuando el HTML Grapes se renderiza fuera de Grapes y se comprueba la entrada si es necesaria, esto falla porque Chrome siempre devuelve 'true' si se establece el atributo 'required'... independientemente del valor.
He estado investigando esto por mi cuenta, pero aún no lo he descubierto, aunque parece que Components necesita una función de 'removeAttribute' para gestionarlo.
Lo siento, pero tengo prisa, así que el lunes pondré el violín...
Respuestas (3)
@artf Gracias por la solución rápida, pero parece que no funciona. Tanto la inspección de la fuente de Grapes como la llamada 'getHtml()' devolven 'required="true"' y 'required="false"'. Supongo que porque el atributo es un valor booleano representado como una cadena.
Lo haré cuando pueda, pero, por desgracia, tengo un calendario inusualmente ajustado para las normas del RGPD que se están entrando.
Probablemente igual que https://github.com/artf/grapesjs/issues/912#issuecomment-373208517
Creo que el commit 9a71368 no es suficiente. Escribe atributos booleanos sin sus valores en la salida html sin problema. Pero cuando el editor lee la salida de nuevo, los atributos booleanos no se inicializan. Si el atributo booleano se muestra en el html (lo que significa que el valor es verdadero), entonces el editor inicializa este atributo con el valor: "" y no true.
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #1424
El valor del rasgo de casilla se muestra de forma diferente en vista (render()) frente al modelo (getHtml())
Tengo un componente personalizado con un rasgo de casilla de verificación 'mostrar-nombre'. Cuando el valor del rasgo es 'true', el compone...
Issue #689
Cambia el valor del atributo que se transmite a través de los rasgos
Hola @artf ¿Existe algún método para manipular el valor de entrada de un atributo que se pasa a través de rasgos? Por ejemplo, pasé el valo...
Issue #686
La vista de rasgos no actualiza el elemento de entrada cuando cambia el valor objetivo
Si el valor objetivo (es decir, atributo/prop del componente) se establece manualmente y no a través del elemento de entrada del rasgo, la...
Issue #1819
[Pregunta]: Bloquear atributos de contenido (ngModel en mi caso) forzados a minúsculas
Estoy intentando usar la directiva angular. En cualquiera de los contenidos de bloque, por ejemplo ' bm.add('radio-block',{ etiqueta: 'Elem...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.
Explora plugins gratuitos →Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.
Explora plugins premium →Tutoriales relacionados
Guías detalladas sobre el mismo tema.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.