Pregunta

Cuando hago la validación de campo en Asp.Net MVC, se generó las siguientes clases CSS de error:

  • entrada-validación-error
  • campo de validación de errores

¿Hay una manera que puedo cambiar los nombres de las clases de error que se generan?

Yo uso XVal.

¿Fue útil?

Solución

No sé sobre XVal pero por lo que el lado de ASP.NET MVC cosas ir, si usted tiene un vistazo a la fuente verá que hay algunas cadenas de sólo lectura estática que representan estos valores.

public static readonly string ValidationInputCssClassName = "input-validation-error";
public static readonly string ValidationMessageCssClassName = "field-validation-error";
public static readonly string ValidationSummaryCssClassName = "validation-summary-errors";

Así que, o editar la fuente a su gusto (que también puede fijar XVal) o alterar el código de salida a utilizar valores diferentes de alguna manera.

Si XVal está utilizando jQuery Validación (que yo creo que sí ...?) Que podría cambiar su valor por defecto de la opción 'errorClass'. Mi respuesta aquí que podría ayudar a lo largo de esa camino.

HTHS, España Charles

Otros consejos

Esto es lo que hice:

private void ChangeValidationClassNames()
{
    var helper = new HtmlHelper(new ViewContext(), new ViewPage());
    SetPublicStaticReadonly("ValidationInputCssClassName", helper, "errInput");
    SetPublicStaticReadonly("ValidationMessageCssClassName", helper, "errMsg");
}

public void SetPublicStaticReadonly(string readonlyPropName, object instance, object value)
{            
    var field = instance.GetType().GetField(readonlyPropName, BindingFlags.Static | BindingFlags.Public);
    if (field == null)
        throw new NullReferenceException(string.Format("public static readonly field '{0}' not found in '{1}'", readonlyPropName, instance));
    field.SetValue(instance, value);
}

Más solución limpiadora puede ser:

<script type="text/javascript">
    $(document).ready(function(){
        $('.input-validation-error').addClass('CustomErrorClass').removeClass('input-validation-error');
        $('.field-validation-error').addClass('CustomErrorClass').removeClass('field-validation-error');
    });
</script>

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top