using FluentValidation.Validators; namespace zero.Validation.Validators; public class EmailsValidator : PropertyValidator, IEmailValidator { public override string Name => "EmailValidator"; protected override string GetDefaultMessageTemplate(string errorCode) => Localized(errorCode, Name); public override bool IsValid(FluentValidation.ValidationContext context, string value) { if (value.IsNullOrWhiteSpace()) { return true; } string[] mails = value.Split(',', ';').Select(x => x.Trim()).Where(x => !x.IsNullOrWhiteSpace()).ToArray(); if (!mails.Any()) { return false; } foreach (string mail in mails) { if (!EmailValidator.ValidateEmail(mail)) { return false; } } return true; } }