namespace ArgumentsToolkit;
///
/// Базовый атрибут для всех правил валидации.
///
[AttributeUsage(AttributeTargets.Property, AllowMultiple = true)]
public abstract class ValidationAttribute : Attribute
{
/// Кастомное сообщение об ошибке.
public abstract string ErrorTemplate { get; set; }
///
/// Проверяет значение свойства.
///
/// Значение свойства.
public abstract bool Validate(object? value);
///
/// Возвращает сообщение об ошибке для указанного значения.
///
public abstract string GetErrorMessage(string optionName, object? value);
}