using System;
namespace Spectre.Console.Cli
{
///
/// An base class attribute used for parameter validation.
///
///
[AttributeUsage(AttributeTargets.Property, AllowMultiple = true)]
public abstract class ParameterValidationAttribute : Attribute
{
///
/// Gets the validation error message.
///
/// The validation error message.
public string ErrorMessage { get; }
///
/// Initializes a new instance of the class.
///
/// The validation error message.
protected ParameterValidationAttribute(string errorMessage)
{
ErrorMessage = errorMessage;
}
///
/// Validates the parameter value.
///
/// The parameter info.
/// The parameter value.
/// The validation result.
public abstract ValidationResult Validate(ICommandParameterInfo info, object? value);
}
}