data cache drupal drupal-themes drupal-theming drupal-forms

data - drupal 8 cache



Elimine el contorno rojo de los elementos del formulario que no validen en drupal (2)

Deberá eliminar la clase de error de los elementos del formulario. Esto puede hacerse sobrescribiendo las funciones del tema, en theme_textfield , theme_textarea ... (hay una para cada tipo)

Eche un vistazo a $element[''#attributes''][''class''] que contiene la clase de error.

EDITAR
Para hacerlo en un elemento o forma de formulario específico, puede usar el atributo #theme o cualquier forma o elemento para el que desee cambiar la función de tema.

Cuando una forma drupal falla la validación, se vuelve a dibujar con los elementos que fallaron la validación rodeada por un borde rojo. Drupal hace esto agregando la clase de error a los elementos de entrada y especificando un borde rojo de 2px en los elementos input.error en system.css .

Sin modificar esta hoja de estilo, ¿cómo puedo eliminar el borde rojo solo en un formulario específico, mientras uso el comportamiento predeterminado en el resto del sitio?

Creo que la solución podría requerir el uso de un theme_form_element personalizado, pero no puedo encontrar la manera de personalizar un solo formulario.

Tenga en cuenta que me gustaría hacer esto sin tener que recurrir a este truco jQuery (que funciona):

$("#edit-name").removeClass(''error'');


La forma más fácil es no intentar modificar el marcado que Drupal está detectando, sino cambiar los estilos asociados con la clase de error .

Puede hacerlo sin modificar system.css. Simplemente agregue una nueva hoja de estilo en su tema (¡o use una existente!). Use la naturaleza en cascada de CSS para cambiar la forma en que aparecen los elementos con errores. Agrega algo como:

.error { border: 0; }

... y has terminado.

Para orientar solo a un formulario específico, agregue otro selector, como ese:

#my-specific-form .error { border: 0; }