public override CommandResult Validate(CommandArg arg) { CommandResult result = base.Validate(arg); if (result.Succeeded) { string path = arg.Value; if (!Path.IsPathFullyQualified(path)) { try { path = Path.Combine(GeneralParameters.Instance.WorkingFolder, path); } catch (Exception ex) { result.Append(new CommandResult(false, "Invalid path:", ex)); } } if (result.Succeeded) { if (!FileSupport.IsFolderReadable(path)) { return(new CommandResult(false, $"Folder '{path}' does not exist or is not readable")); } arg.ResolvedValue = path; } } return(result); }
public CommandArg Resolve(CommandArg arg) { var result = Validate(arg); if (!result.Succeeded) { throw new ArgumentException(result.ToString()); } return(arg); }
public virtual CommandResult Validate(CommandArg arg) { if (!String.IsNullOrEmpty(arg.Name)) { return(new CommandResult()); } else { return(new CommandResult(false, $"{arg.Name} cannot be empty.")); } }
public override CommandResult Validate(CommandArg arg) { CommandResult result = base.Validate(arg); if (result.Succeeded) { if (arg.Value.Length > _maxLength || !Regex.IsMatch(arg.Value, _namePattern)) { result.Append(new CommandResult(false, $"{arg.Name} name is invalid")); } } return(result); }
public override CommandResult Validate(CommandArg arg) { CommandResult result = base.Validate(arg); if (result.Succeeded) { if (Uri.TryCreate(arg.Value.ToString(), UriKind.Absolute, out Uri uri)) { arg.ResolvedValue = uri; return(result); } } return(new CommandResult(false, $"'{arg.Value}' is not a valid URL")); }
public override CommandResult Validate(CommandArg arg) { CommandResult result = base.Validate(arg); if (result.Succeeded) { if (Uri.TryCreate("tcp://" + arg.Value, UriKind.Absolute, out Uri uri)) { if (uri.GetComponents(UriComponents.HostAndPort, UriFormat.Unescaped) == arg.Value) { return(result); } } } return(new CommandResult(false, $"'{arg.Value}' is not a valid URL")); }
public CommandResult Validate(CommandArg arg) { return(_validator.Validate(arg)); }