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); } }
public string this[string columnName] { get { switch (columnName) { case nameof(ViewModelSuffix): return(ValidationUtilities.ValidateViewModelSuffix(ViewModelSuffix)); case nameof(Name): return(ValidationUtilities.ValidateName(Name)); case nameof(SettingsProject): return(SettingsProject == null ? "Required" : null); case nameof(SelectedViewSuffix): return(string.IsNullOrWhiteSpace(SelectedViewSuffix) ? "Required" : null); case nameof(SubLocation): if (!string.IsNullOrEmpty(SubLocation)) { var e = ValidationUtilities.ValidatePathOffProject(SubLocation); if (e != null) { return(e); } var split = SubLocation.Split('/'); foreach (var s in split) { e = ValidationUtilities.ValidateName(s); if (e != null) { return(e); } } } return(null); } return(null); } }