public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { var processor = new SearchOptionsProcessor <T, TEntity>(Search); var validTerms = processor.GetValidTerms().Select(x => x.Name); var invalidTerms = processor.GetAllTerms() .Where(x => !validTerms.Any(v => v.Equals(x.Name, StringComparison.OrdinalIgnoreCase))) .Select(x => x.Name); foreach (var term in invalidTerms) { yield return(new ValidationResult($"Invalid search term {term}", new[] { nameof(Search) })); } }
public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { var processor = new SearchOptionsProcessor <T, TEntity>(Search); var validTerms = processor.GetValidTerms().Select(x => x.Name); var invalidTerms = processor.GetAllTerms().Select(x => x.Name).Except(validTerms, StringComparer.CurrentCultureIgnoreCase); foreach (var term in invalidTerms) { yield return(new ValidationResult($"Invalid search term '{term}'.", new[] { nameof(Search) })); } }
private IEnumerable <ValidationResult> ValidateSearchOptions() { if (Search == null) { yield break; } var processor = new SearchOptionsProcessor <T>(Search); var validTerms = processor.GetValidTerms().Select(x => x.Name); var invalidTerms = processor.GetAllTerms().Select(x => x.Name) .Except(validTerms, StringComparer.OrdinalIgnoreCase); foreach (var term in invalidTerms) { yield return(new ValidationResult($"Invalid search term '{term}'", new[] { nameof(Search) })); } }