La idea anterior sobre el uso de CSS con importantes fue tan cerca que pude saborearlo. Usando esa idea y los selectores de atributos CSS lo hice. Tuve que usar el selector "contiene" para que funcione en FF, pero ahora lo he probado en IE10, FF y Chrome y hasta ahora está funcionando. Es realmente simple. Aquí hay un validador de muestra en mi página aspx
<asp:RequiredFieldValidator runat="server" ID="rfvRequired" ErrorMessage="This is required.<br/>This is line 2" ControlToValidate="tbRequired" ValidationGroup="CommonAttributesValidationGroup" SetFocusOnError="True" CssClass="valerror" Display="Dynamic"></asp:RequiredFieldValidator>
Siguiente Tengo un estilo para valerror.
span.valerror[style*="inline"]
{
display:block !Important;
background-color: Yellow;
border: 1px solid #cccccc;
font-size:.9em;
}
Eso es todo. Cómo funciona: cuando el span cambia el estilo de "display: none" a "display: inline", el selector de atributos del tramo entra en acción y lo fuerza a ser un bloque. Solo necesita hacer UNA entrada de CSS como la de arriba y asegúrese de hacer cada validador de esa clase.
Esto funcionó muy bien para mí.He mostrado dinámicamente validadores que quería mostrar debajo de las entradas sin marcado adicional. Usando este selector de CSS y configurando la pantalla: propiedad de bloque con la palabra clave! Important hizo exactamente lo que necesitaba. Están ocultos por defecto, se muestran según sea necesario (debajo de la entrada) y se ocultan nuevamente cuando se selecciona/escribe un valor válido. ¡Gracias! –
¡Esto también funcionó muy bien para mí! +1 para ayudar –
¿Por qué no se acepta esto? He votado que esta es una excelente solución. –