Hace un tiempo que pasé unas horas en él y desde entonces he estado usando magia js personalizada para lograr esto.
De hecho, es bastante simple y en la forma en que funciona la validación de ASP.NET. La idea básica es agregar una clase css para adjuntar un evento de javascript en cada control que desee una respuesta visual rápida.
<script type="text/javascript" language="javascript">
/* Color ASP NET validation */
function validateColor(obj) {
var valid = obj.Validators;
var isValid = true;
for (i in valid)
if (!valid[i].isvalid)
isValid = false;
if (!isValid)
$(obj).addClass('novalid', 1000);
else
$(obj).removeClass('novalid', 1000);
}
$(document).ready(function() {
$(".validateColor").change(function() {validateColor(this);});
});
</script>
Por ejemplo, ese será el código que se agregará en un control de cuadro de texto ASP.Net. Sí, puedes poner tantos como quieras y solo implica agregar un valor de CssClass.
<asp:TextBox ID="txtBxEmail" runat="server" CssClass="validateColor" />
lo que hace es activar la validación del lado del cliente ASP.Net cuando hay un cambio en el control de trabajo y aplicar una clase CSS si no es válido. Entonces, para personalizar la visualización, puede confiar en css.
.novalid {
border: 2px solid #D00000;
}
No es perfecto, pero casi :) y al menos su código no sufrirá de material extra. Y el mejor, funciona con todo tipo de validadores Asp.Net, eventos personalizados.
No he visto algo como esto en Google, así que quiero compartir mi truco contigo. Espero eso ayude.
material extra en el lado del servidor:
Después de algún tiempo el uso de este también añadir esta clase css ".novalid" de código detrás cuando necesita algo de validación particular sobre las cosas que tal vez podría ser solamente comprueba en el lado del servidor de esta manera:
Page.Validate();
if (!requiredFecha.IsValid || !CustomValidateFecha.IsValid)
txtFecha.CssClass = "validateColor novalid";
else
txtFecha.CssClass = "validateColor";
Creo que las variables v1 y v2 no se utilizaron: P – billy
sí, pero esto es rápido y ** sucio **: D. Acabo de comentarlas. – TheVillageIdiot
quizás sucio, pero no he encontrado una solución mejor !! : P – billy