using System.ComponentModel; using System.Linq.Expressions; namespace Toolkit.Foundation; public interface IValidation : INotifyPropertyChanged { IReadOnlyIndexDictionary Errors { get; } bool HasErrors { get; } void Add(Expression> property, ValidationRule[] rules, ValidationTrigger trigger = ValidationTrigger.Deferred); void Clear(); Task Validate(Expression> property, ValidationRule[] rules); Task Validate(string name, ValidationRule[] rules); Task Validate(); Task Validate(string name); }