Skip to content

Commit

Permalink
add Invalid(params ValidationError[]) factory method. (#152)
Browse files Browse the repository at this point in the history
  • Loading branch information
danihengeveld authored Oct 18, 2023
1 parent dae5fba commit 52f6aeb
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 1 deletion.
12 changes: 11 additions & 1 deletion src/Ardalis.Result/Result.Void.cs
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,16 @@ public static Result ErrorWithCorrelationId(string correlationId, params string[
return new Result(ResultStatus.Invalid) { ValidationErrors = { validationError } };
}

/// <summary>
/// Represents validation errors that prevent the underlying service from completing.
/// </summary>
/// <param name="validationErrors">A list of validation errors encountered</param>
/// <returns>A Result</returns>
public new static Result Invalid(params ValidationError[] validationErrors)
{
return new Result(ResultStatus.Invalid) { ValidationErrors = new List<ValidationError>(validationErrors) };
}

/// <summary>
/// Represents validation errors that prevent the underlying service from completing.
/// </summary>
Expand Down Expand Up @@ -184,4 +194,4 @@ public static Result CriticalError(params string[] errorMessages)
return new Result(ResultStatus.CriticalError) { Errors = errorMessages };
}
}
}
}
10 changes: 10 additions & 0 deletions src/Ardalis.Result/Result.cs
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,16 @@ public static Result<T> Invalid(ValidationError validationError)
return new Result<T>(ResultStatus.Invalid) { ValidationErrors = { validationError } };
}

/// <summary>
/// Represents validation errors that prevent the underlying service from completing.
/// </summary>
/// <param name="validationErrors">A list of validation errors encountered</param>
/// <returns>A Result<typeparamref name="T"/></returns>
public static Result<T> Invalid(params ValidationError[] validationErrors)
{
return new Result<T>(ResultStatus.Invalid) { ValidationErrors = new List<ValidationError>(validationErrors) };
}

/// <summary>
/// Represents validation errors that prevent the underlying service from completing.
/// </summary>
Expand Down
17 changes: 17 additions & 0 deletions src/Ardalis.Result/ValidationError.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,23 @@
{
public class ValidationError
{
public ValidationError()
{
}

public ValidationError(string errorMessage)
{
ErrorMessage = errorMessage;
}

public ValidationError(string identifier, string errorMessage, string errorCode, ValidationSeverity severity)
{
Identifier = identifier;
ErrorMessage = errorMessage;
ErrorCode = errorCode;
Severity = severity;
}

public string Identifier { get; set; }
public string ErrorMessage { get; set; }
public string ErrorCode { get; set; }
Expand Down

0 comments on commit 52f6aeb

Please # to comment.