Это работает как шарм! Спасибо!

ли реализовать проверку клиентского сайта для пользовательского атрибута ValidationAttribute, который используется в области видимости класса? Например, мой MaxLengthGlobal, который должен обеспечить глобальный максимальный предел для всех полей ввода.

[AttributeUsage(AttributeTargets.Class)]
public class MaxLengthGlobalAttribute : ValidationAttribute, IClientValidatable
{
    public int MaximumLength
    {
        get;
        private set;
    }

    public MaxLengthGlobalAttribute(int maximumLength)
    {
        this.MaximumLength = maximumLength;
    }

    public override bool IsValid(object value)
    {
        var properties = TypeDescriptor.GetProperties(value);

        foreach (PropertyDescriptor property in properties)
        {
            var stringValue = property.GetValue(value) as string;

            if (stringValue != null && (stringValue.Length > this.MaximumLength))
            {
                return false;
            }
        }

        return true;
    }

    public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
    {       
        var rule = new ModelClientValidationRule
        {
            ErrorMessage = this.FormatErrorMessage(metadata.GetDisplayName()),
            ValidationType = "maxlengthglobal",
        };

        rule.ValidationParameters.Add("maxlength", this.MaximumLength);         
        yield return rule;
    }
}

Спасибо.

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

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