ASP.NET MVC: добавление настраиваемого ErrorMessage, включающего DisplayName, в настраиваемый атрибут ValidationAttribute

Я использую ASP.NET MVC с DataAnnotations. Я создал следующий пользовательский атрибут ValidationAttribute, который работает нормально.

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

Тем не менее, появляется сообщение об ошибке стандартное «Поле * недействительно». Я хотел бы изменить это следующим образом: «[DisplayName] должно быть между [minlength] и [maxlength]», однако я не могу понять, как получить DisplayName или даже имя поля из этого класса.

Кто-нибудь знает?

Ответы на вопрос(1)

Ваш ответ на вопрос