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