Class ModelGraphValidator

Namespace
Cratis.Arc.Validation
Assembly
Cratis.Arc.Core.dll

Represents an implementation of IModelGraphValidator.

[Singleton]
public class ModelGraphValidator : IModelGraphValidator
Inheritance
ModelGraphValidator
Implements
Inherited Members
Extension Methods

Constructors

ModelGraphValidator(IDiscoverableValidators, IValidatorInvoker)

Represents an implementation of IModelGraphValidator.

public ModelGraphValidator(IDiscoverableValidators discoverableValidators, IValidatorInvoker validatorInvoker)

Parameters

discoverableValidators IDiscoverableValidators

The IDiscoverableValidators to use for finding validators.

validatorInvoker IValidatorInvoker

The IValidatorInvoker to run a discovered validator with.

Methods

Validate(ModelGraphValidationRequest, CancellationToken)

Validates an object graph, running validators for the root and for everything reachable from it.

public Task<IEnumerable<ValidationResult>> Validate(ModelGraphValidationRequest request, CancellationToken cancellationToken = default)

Parameters

request ModelGraphValidationRequest

The ModelGraphValidationRequest describing what to validate.

cancellationToken CancellationToken

Optional CancellationToken for cancelling the validation.

Returns

Task<IEnumerable<ValidationResult>>

The ValidationResult collection describing every failure found, empty when valid.