Class ValidationMiddleware
- Namespace
- WorkflowForge.Extensions.Validation
- Assembly
- WorkflowForge.Extensions.Validation.dll
Middleware that validates workflow data using registered validators.
public sealed class ValidationMiddleware : IWorkflowOperationMiddleware
- Inheritance
-
ValidationMiddleware
- Implements
- Inherited Members
Constructors
ValidationMiddleware(IWorkflowForgeLogger, IWorkflowValidator<object>, Func<IWorkflowFoundry, object?>, ValidationMiddlewareOptions?)
Initializes a new instance of the ValidationMiddleware class with options.
public ValidationMiddleware(IWorkflowForgeLogger logger, IWorkflowValidator<object> validator, Func<IWorkflowFoundry, object?> dataExtractor, ValidationMiddlewareOptions? options = null)
Parameters
loggerIWorkflowForgeLoggerThe logger for validation events.
validatorIWorkflowValidator<object>The validator to use.
dataExtractorFunc<IWorkflowFoundry, object>Function to extract data from foundry for validation.
optionsValidationMiddlewareOptionsConfiguration options for validation behavior.
Exceptions
- ArgumentNullException
Thrown when required parameters are null.
Methods
ExecuteAsync(IWorkflowOperation, IWorkflowFoundry, object?, Func<CancellationToken, Task<object?>>, CancellationToken)
Executes validation before delegating to the next middleware.
public Task<object?> ExecuteAsync(IWorkflowOperation operation, IWorkflowFoundry foundry, object? inputData, Func<CancellationToken, Task<object?>> next, CancellationToken cancellationToken = default)
Parameters
operationIWorkflowOperationThe operation being executed.
foundryIWorkflowFoundryThe workflow foundry.
inputDataobjectOptional input data.
nextFunc<CancellationToken, Task<object>>The next middleware delegate.
cancellationTokenCancellationTokenCancellation token.