TaskValidator.ValidationPipeline (TaskValidator v0.9.2)
View SourceSimple validation pipeline for running validators in priority order.
Provides a clean, straightforward way to validate tasks using a configurable list of validators without the complexity of a full rule engine.
Usage
# Use default validators
result = ValidationPipeline.run(task, context)
# Use custom validator list
validators = [
{TaskValidator.Validators.IdValidator, %{}},
{TaskValidator.Validators.StatusValidator, %{}}
]
result = ValidationPipeline.run(task, context, validators)
# Validate multiple tasks
results = ValidationPipeline.run_many(tasks, context, validators)
Summary
Functions
Creates a custom validator set from a keyword list.
Returns the default set of validators in priority order.
Returns a minimal validator set for basic validation.
Runs validation pipeline on a single task.
Runs validation pipeline on multiple tasks.
Returns a strict validator set with enhanced checking.
Types
Functions
@spec build_validators(keyword()) :: [validator_spec()]
Creates a custom validator set from a keyword list.
Example
validators = ValidationPipeline.build_validators([
id: [strict_format: true],
status: [],
custom: [MyCustomValidator, [option: value]]
])
@spec default_validators() :: [validator_spec()]
Returns the default set of validators in priority order.
@spec minimal_validators() :: [validator_spec()]
Returns a minimal validator set for basic validation.
@spec run(TaskValidator.Core.Task.t(), validation_context(), [validator_spec()]) :: TaskValidator.Core.ValidationResult.t()
Runs validation pipeline on a single task.
Parameters
task
- The task to validatecontext
- Validation context (config, references, etc.)validators
- List of {validator_module, options} tuples (optional)
Returns
Combined ValidationResult from all validators
@spec run_many([TaskValidator.Core.Task.t()], validation_context(), [validator_spec()]) :: TaskValidator.Core.ValidationResult.t()
Runs validation pipeline on multiple tasks.
Parameters
tasks
- List of tasks to validatecontext
- Validation contextvalidators
- List of validator specs (optional)
Returns
Combined ValidationResult from all task validations
@spec strict_validators(map()) :: [validator_spec()]
Returns a strict validator set with enhanced checking.