public string this[string columnName] { get { switch (columnName) { case nameof(Name): if (string.IsNullOrWhiteSpace(Name)) { return("Required"); } if (ValidationUtilities.ValidateName(Name) != null) { return("Must be a valid identifier"); } if (Name.StartsWith(" ")) { return("Can't start with a space"); } if (Name.EndsWith(" ")) { return("Can't end with a space"); } if (_existingNames != null && _existingNames.Any(s => string.Equals(s, Name, StringComparison.OrdinalIgnoreCase))) { return("Duplicated name"); } return(null); case nameof(SelectedFieldType): if (SelectedFieldType == null) { return("Required"); } return(null); case nameof(Prompt): if (string.IsNullOrWhiteSpace(Prompt)) { return("Required"); } if (ValidationUtilities.ValidateFieldPrompt(Prompt) != null) { return("Cannot end in a colon or space"); } return(null); } return(null); } }