Class InstrumentingValidatorDecorator<TValidated>
Decorator for IValidator<TValidated> & IValidator which instruments the result with timing data if applicable.
Inheritance
Inherited Members
Namespace: CSF.Validation
Assembly: CSF.Validation.dll
Syntax
public class InstrumentingValidatorDecorator<TValidated> : IValidator<TValidated>, IValidator
Type Parameters
| Name | Description |
|---|---|
| TValidated | The validated type. |
Constructors
| Improve this Doc View SourceInstrumentingValidatorDecorator(IValidator<TValidated>, IGetsResolvedValidationOptions)
Initialises a new instance of InstrumentingValidatorDecorator<TValidated>.
Declaration
public InstrumentingValidatorDecorator(IValidator<TValidated> validator, IGetsResolvedValidationOptions optionsResolver)
Parameters
| Type | Name | Description |
|---|---|---|
| IValidator<TValidated> | validator | The wrapped validator. |
| IGetsResolvedValidationOptions | optionsResolver |
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentNullException | If any parameter is null. |
Properties
| Improve this Doc View SourceValidatedType
Gets the type of object that this validator is intended to validate.
Declaration
public Type ValidatedType { get; }
Property Value
| Type | Description |
|---|---|
| System.Type |
Remarks
The first parameter to ValidateAsync(Object, ValidationOptions, CancellationToken) must be of either the type indicated by this property, or a type that is derived from the type indicated by this property.
Methods
| Improve this Doc View SourceValidateAsync(TValidated, ValidationOptions, CancellationToken)
Validate the specified object instance asynchronously and get a validation result.
Declaration
public async Task<IQueryableValidationResult<TValidated>> ValidateAsync(TValidated validatedObject, ValidationOptions options = null, CancellationToken cancellationToken = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| TValidated | validatedObject | The object to be validated. |
| ValidationOptions | options | An optional object containing configuration options related to the validation process. |
| System.Threading.CancellationToken | cancellationToken | An optional object which enables premature cancellation of the validation process. |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task<IQueryableValidationResult<TValidated>> | A task containing the result of the validation process. |
Exceptions
| Type | Condition |
|---|---|
| ValidationException | If the validation process fails or errors and the RuleThrowingBehaviour of the resolved options indicate that an exception should be thrown. See IGetsResolvedValidationOptions for more info about how the options are resolved from the defaults configured with DI and the options specified here. |
Explicit Interface Implementations
| Improve this Doc View SourceIValidator.ValidateAsync(Object, ValidationOptions, CancellationToken)
Declaration
async Task<ValidationResult> IValidator.ValidateAsync(object validatedObject, ValidationOptions options, CancellationToken cancellationToken)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | validatedObject | |
| ValidationOptions | options | |
| System.Threading.CancellationToken | cancellationToken |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task<ValidationResult> |