namespace RobotNet10.CANOpen.Models;
///
/// Validation result container
///
public class ValidationResult
{
public bool IsValid { get; }
public IReadOnlyList Errors { get; }
public ValidationResult(bool isValid, IEnumerable errors)
{
IsValid = isValid;
Errors = errors.ToList().AsReadOnly();
}
public static ValidationResult Success() => new(true, Array.Empty());
public static ValidationResult Failure(params string[] errors) => new(false, errors);
public static ValidationResult Failure(IEnumerable errors) => new(false, errors);
public override string ToString()
{
if (IsValid)
return "Valid";
return $"Invalid: {string.Join(", ", Errors)}";
}
}