Frage

Als ich Feldvalidierung in Asp.Net MVC zu tun, ist es die folgenden Fehler CSS-Klassen generiert:

  • input-validation-Fehler
  • Feldvalidierungsfehler

Gibt es eine Möglichkeit, dass ich die Namen der Fehlerklassen ändern, die generiert werden?

Ich verwende xVal.

War es hilfreich?

Lösung

Ich weiß nicht, über xVal aber so weit wie die ASP.NET MVC-Seite der Dinge gehen, wenn Sie einen Blick auf die Quelle einige statische gibt es nur lesbar Strings sehen werden, die diese Werte darstellen.

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

Also entweder bearbeiten Sie die Quelle nach Ihren Wünschen oder ändern, um die Ausgabe-Code (die auch xVal beheben kann) irgendwie unterschiedliche Werte zu verwenden.

Wenn xVal wird mit jQuery Validation (was ich denke, es ist ...?) Sie es den Standardwert für die ‚Errorclass‘ Option ändern könnte. Meine Antwort hier könnte helfen zusammen, dass Pfad.

HTHS,
Charles

Andere Tipps

Hier ist, was ich getan habe:

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);
}

Weitere sauberere Lösung kann sein:

<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>

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top