22 lines
513 B
C#
22 lines
513 B
C#
namespace Toolkit.Foundation;
|
|
|
|
public class Validator(string propertyName,
|
|
ValidationRule[] rules)
|
|
{
|
|
private readonly ValidationRule[] rules = rules;
|
|
|
|
public string? PropertyName { get; } = propertyName;
|
|
|
|
public async Task<(bool isValid, string? message)> TryValidate()
|
|
{
|
|
foreach (ValidationRule rule in rules)
|
|
{
|
|
if (!await rule.Validate())
|
|
{
|
|
return (false, rule.Message);
|
|
}
|
|
}
|
|
|
|
return (true, null);
|
|
}
|
|
} |