/// <summary> /// Gets if value is valid. /// </summary> /// <param name="value">Value.</param> /// <returns>True or false.</returns> public override bool IsValid(object value) { if (value is string PATH_STRING) { //null or empty strings dont have any invalid characters if (string.IsNullOrWhiteSpace(PATH_STRING)) { return(true); } //ensure no invalid characters in path if (PATH_STRING.IndexOfAny(INVALID_FILE_NAME_CHARACTERS) >= 0) { return(false); } if (PATH_STRING.EndsWith(" ") || PATH_STRING.EndsWith(".")) { return(false); } string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(PATH_STRING); if (RESERVED_FILE_NAMES.Any(a => a.Equals(PATH_STRING, StringComparison.OrdinalIgnoreCase) || a.Equals(fileNameWithoutExtension, StringComparison.OrdinalIgnoreCase))) { return(false); } return(true); } //not a string ? valid then ? return(true); }
/// <summary> /// Gets if value is valid. /// </summary> /// <param name="value">Value.</param> /// <returns>True or false.</returns> public override bool IsValid(object value) { if (value is string PATH_STRING) { //null or empty strings dont have any invalid characters if (string.IsNullOrWhiteSpace(PATH_STRING)) { return(true); } if (!AllowWildCard) { //path contains wild card or asterisk if (PATH_STRING.IndexOf('*') >= 0) { return(false); } } //ensure no invalid characters in path return(PATH_STRING.IndexOfAny(INVALID_PATH_NAME_CHARACTERS) < 0); } //not a string ? valid then ? return(true); }