Skip to main content

Module validation

Module validation 

Source
Expand description

Input validation module.

Provides ID policy validation, GraphQL input processing, and comprehensive field-level validation rules including checksum, rich scalar, and async validation.

Re-exports§

pub use async_validators::AsyncValidator;
pub use async_validators::AsyncValidatorConfig;
pub use async_validators::AsyncValidatorProvider;
pub use async_validators::MockEmailDomainValidator;
pub use async_validators::MockPhoneNumberValidator;
pub use checksum::LuhnValidator;
pub use checksum::Mod97Validator;
pub use compile_time::CompileTimeError;
pub use compile_time::CompileTimeValidationResult;
pub use compile_time::CompileTimeValidator;
pub use compile_time::FieldType;
pub use compile_time::SchemaContext;
pub use compile_time::TypeDef;
pub use composite::CompositeError;
pub use composite::CompositeOperator;
pub use composite::validate_all;
pub use composite::validate_any;
pub use composite::validate_not;
pub use composite::validate_optional;
pub use cross_field::ComparisonOperator;
pub use cross_field::validate_cross_field_comparison;
pub use custom_scalar::CustomScalar;
pub use custom_scalar_registry::CustomScalarRegistry;
pub use custom_type_registry::CustomTypeDef;
pub use custom_type_registry::CustomTypeRegistry;
pub use custom_type_registry::CustomTypeRegistryConfig;
pub use date_validators::validate_date_range;
pub use date_validators::validate_max_age;
pub use date_validators::validate_max_date;
pub use date_validators::validate_max_days_in_future;
pub use date_validators::validate_max_days_in_past;
pub use date_validators::validate_min_age;
pub use date_validators::validate_min_date;
pub use elo_expressions::EloExpressionEvaluator;
pub use elo_expressions::EloValidationResult;
pub use elo_rust_integration::EloRustValidator;
pub use elo_rust_integration::RustValidatorRegistry;
pub use elo_rust_integration::RustValidatorRegistryConfig;
pub use inheritance::InheritanceMode;
pub use inheritance::RuleMetadata;
pub use inheritance::ValidationRuleRegistry;
pub use inheritance::inherit_validation_rules;
pub use inheritance::validate_inheritance;
pub use input_object::InputObjectRule;
pub use input_object::InputObjectValidationResult;
pub use input_object::validate_input_object;
pub use mutual_exclusivity::AnyOfValidator;
pub use mutual_exclusivity::ConditionalRequiredValidator;
pub use mutual_exclusivity::OneOfValidator;
pub use mutual_exclusivity::RequiredIfAbsentValidator;
pub use rate_limiting::ValidationRateLimiter;
pub use rate_limiting::ValidationRateLimitingConfig;
pub use rich_scalars::CountryCodeValidator;
pub use rich_scalars::EmailValidator;
pub use rich_scalars::PhoneNumberValidator;
pub use rich_scalars::VinValidator;
pub use rules::ValidationRule;
pub use scalar_validator::ScalarValidationError;
pub use scalar_validator::ValidationContext;
pub use scalar_validator::validate_custom_scalar;
pub use scalar_validator::validate_custom_scalar_parse_value;
pub use validators::EnumValidator;
pub use validators::LengthValidator;
pub use validators::PatternValidator;
pub use validators::RangeValidator;
pub use validators::Validator;

Modules§

async_validators
Async validation framework for validators requiring runtime operations.
checksum
Checksum validation algorithms for credit cards, IBANs, and other structured identifiers.
compile_time
Compile-time validation for cross-field rules and schema consistency.
composite
Composite validation rules combining multiple validators.
cross_field
Cross-field comparison validators.
custom_scalar
Custom scalar trait and validation for user-defined scalars.
custom_scalar_registry
Thread-safe registry for custom scalar implementations.
custom_type_registry
Custom type registry for runtime scalar type management.
date_validators
Date and time validation for input fields.
elo_expressions
Elo expression-based validation rules.
elo_rust_integration
Elo Rust target integration for compiled validators.
error_responses
GraphQL-compliant error response formatting for validation errors.
inheritance
Validation inheritance for input types.
input_object
Input object-level validation.
mutual_exclusivity
Mutual exclusivity and conditional requirement validators.
rate_limiting
Validation-specific rate limiting with per-dimension tracking.
rich_scalars
Rich scalar type validators for specialized data formats.
rules
Validation rule types and definitions.
scalar_validator
Validation engine for custom GraphQL scalars.
validators
Basic field validators for input validation.

Structs§

IDValidationError
Error type for ID validation failures
IDValidationProfile
ID validation profile for different use cases
InputProcessingConfig
Configuration for input processing
ProcessingError
Error type for input processing failures

Enums§

IDPolicy
ID Policy determines how GraphQL ID scalar type behaves
ValidationProfileType
Type of validation profile

Functions§

process_variables
Process and validate GraphQL input variables
validate_id
Validate an ID string against the configured ID policy