using FluentValidation; namespace OneSwiss.Server.Components; public class ModelValidator : AbstractValidator { public Func>> ValidateValue => async (model, propertyName) => { var name = propertyName.StartsWith("Model.") ? propertyName.Replace("Model.", "") : propertyName; var result = await ValidateAsync(ValidationContext .CreateWithOptions((T)model, x => x.IncludeProperties(name))); return result.IsValid ? [] : result.Errors.Select(e => e.ErrorMessage); }; }