Looking for c# Keywords? Try Ask4Keywords

C# Language Создание настраиваемого атрибута проверки


пример

Пользовательские атрибуты проверки могут быть созданы путем получения базового класса ValidationAttribute и последующего переопределения virtual методов по мере необходимости.

[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
public class NotABananaAttribute : ValidationAttribute
{
    public override bool IsValid(object value)
    {
        var inputValue = value as string;
        var isValid = true;

        if (!string.IsNullOrEmpty(inputValue))
        {
            isValid = inputValue.ToUpperInvariant() != "BANANA";
        }

        return isValid;
    }
}

Затем этот атрибут можно использовать следующим образом:

public class Model
{
    [NotABanana(ErrorMessage = "Bananas are not allowed.")]
    public string FavoriteFruit { get; set; }
}