/// <remarks>This method is called by the .NET when validating the object.</remarks> public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { bool statusDefined = AcceptedOrganisationStatuses.Any(status => !string.IsNullOrWhiteSpace(status)); bool typeDefined = AcceptedOrganisationTypes.Any(type => !string.IsNullOrWhiteSpace(type)); if (!statusDefined && !typeDefined) { var missingOrganisationStatusOrType = new ValidationResult( "Either AcceptedOrganisationStatuses or AcceptedOrganisationTypes must contain at least one value", new[] { nameof(AcceptedOrganisationStatuses), nameof(AcceptedOrganisationTypes) }); return(new[] { missingOrganisationStatusOrType }); } return(new List <ValidationResult>()); }