Files
Toolkit2/Toolkit.Foundation/Validator.cs
T
2024-06-16 13:42:36 +01:00

34 lines
690 B
C#

using System.Diagnostics.CodeAnalysis;
namespace Toolkit.Foundation;
public class Validator
{
private readonly ValidationRule[] rules = [];
public Validator(string propertyName,
ValidationRule[] rules)
{
PropertyName = propertyName;
this.rules = rules;
}
public string? PropertyName { get; }
public bool TryValidate([MaybeNull] out string message)
{
message = "";
foreach (ValidationRule rule in rules)
{
if (rule.Validation?.Invoke() == false)
{
message = rule.Message?.Invoke();
return false;
}
}
return true;
}
}