diff --git a/src/Ardalis.Result/Result.Void.cs b/src/Ardalis.Result/Result.Void.cs
index 7b0ee94..7c69e74 100644
--- a/src/Ardalis.Result/Result.Void.cs
+++ b/src/Ardalis.Result/Result.Void.cs
@@ -77,6 +77,16 @@ public static Result ErrorWithCorrelationId(string correlationId, params string[
};
}
+ ///
+ /// Represents the validation error that prevents the underlying service from completing.
+ ///
+ /// The validation error encountered
+ /// A Result
+ public new static Result Invalid(ValidationError validationError)
+ {
+ return new Result(ResultStatus.Invalid) { ValidationErrors = { validationError } };
+ }
+
///
/// Represents validation errors that prevent the underlying service from completing.
///
diff --git a/src/Ardalis.Result/Result.cs b/src/Ardalis.Result/Result.cs
index 5bce85d..845c02e 100644
--- a/src/Ardalis.Result/Result.cs
+++ b/src/Ardalis.Result/Result.cs
@@ -111,6 +111,16 @@ public static Result Error(params string[] errorMessages)
return new Result(ResultStatus.Error) { Errors = errorMessages };
}
+ ///
+ /// Represents a validation error that prevents the underlying service from completing.
+ ///
+ /// The validation error encountered
+ /// A Result
+ public static Result Invalid(ValidationError validationError)
+ {
+ return new Result(ResultStatus.Invalid) { ValidationErrors = { validationError } };
+ }
+
///
/// Represents validation errors that prevent the underlying service from completing.
///
diff --git a/tests/Ardalis.Result.UnitTests/ResultConstructor.cs b/tests/Ardalis.Result.UnitTests/ResultConstructor.cs
index 639f416..029e6d2 100644
--- a/tests/Ardalis.Result.UnitTests/ResultConstructor.cs
+++ b/tests/Ardalis.Result.UnitTests/ResultConstructor.cs
@@ -207,10 +207,18 @@ public void InitializedIsSuccessFalseForForbiddenFactoryCall()
Assert.False(result.IsSuccess);
}
+ [Fact]
+ public void InitializedIsSuccessFalseForInvalidListFactoryCall()
+ {
+ var result = Result