ASP.NET MVC: Hinzufügen einer benutzerdefinierten Fehlermeldung, die DisplayName enthält, zu benutzerdefiniertem ValidationAttribute

Ich verwende ASP.NET MVC mit DataAnnotations. Ich habe das folgende benutzerdefinierte ValidationAttribute erstellt, das einwandfrei funktioniert.

public class StringRangeAttribute : ValidationAttribute
{
    public int MinLength { get; set; }
    public int MaxLength { get; set; }

    public StringRangeAttribute(int minLength, int maxLength)
    {   
        this.MinLength = (minLength < 0) ? 0 : minLength;
        this.MaxLength = (maxLength < 0) ? 0 : maxLength;
    }

    public override bool IsValid(object value)
    {            
        //null or empty is <em>not</em> invalid
        string str = (string)value;
        if (string.IsNullOrEmpty(str))
            return true;

        return (str.Length >= this.MinLength && str.Length <= this.MaxLength);
    }
}

Es wird jedoch standardmäßig die Fehlermeldung "Das Feld * ist ungültig" angezeigt. Ich möchte dies folgendermaßen ändern: "Der [Anzeigename] muss zwischen [minlength] und [maxlength] liegen". Ich kann jedoch nicht herausfinden, wie der Anzeigename oder sogar der Name des Felds aus dieser Klasse heraus ermittelt werden kann.

Weiß jemand?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage