pub mod config;
pub mod formatting;
pub mod limits;
pub mod mask;
pub mod patterns;
pub mod state;
pub use config::{ValidationConfig, ValidationConfigBuilder, ValidationResult};
pub use formatting::{CustomFormatter, DefaultPositionMapper, FormattingResult, PositionMapper};
pub use limits::{CharacterLimits, LimitCheckResult};
pub use mask::DisplayMask;
pub use patterns::{CharacterFilter, PatternFilters, PositionFilter, PositionRange};
pub use state::{ValidationState, ValidationSummary};
pub use validation_core::{AppliedValidation, ValidationRule, ValidationSet, ValidationSettings};
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum ExternalValidationState {
NotValidated,
Validating,
Valid(Option<String>),
Invalid {
message: String,
suggestion: Option<String>,
},
Warning {
message: String,
},
}
#[derive(Debug, Clone, thiserror::Error)]
pub enum ValidationError {
#[error("Character limit exceeded: {message}")]
LimitExceeded { message: String },
#[error("Pattern validation failed: {message}")]
PatternFailed { message: String },
#[error("Custom validation failed: {message}")]
CustomFailed { message: String },
}