Expand description
Schema and business rule validation for ISO 20022 financial messages.
§Overview
This crate provides layered validation for ISO 20022 messages:
- Rule layer (
rules) — individual, reusable validators (IBAN, BIC, length, regex pattern). - Schema layer (
schema) — orchestrates rules against field constraints derived from XSD facets.
§Quick start
use mx20022_validate::rules::RuleRegistry;
let registry = RuleRegistry::with_defaults();
// Validate an IBAN
let errors = registry.validate_field(
"GB82WEST12345698765432",
"/Document/CdtTrfTxInf/CdtrAcct/Id/IBAN",
&["IBAN_CHECK"],
);
assert!(errors.is_empty());
// Validate a BIC
let errors = registry.validate_field(
"AAAAGB2L",
"/Document/CdtTrfTxInf/CdtrAgt/FinInstnId/BICFI",
&["BIC_CHECK"],
);
assert!(errors.is_empty());Re-exports§
pub use error::Severity;pub use error::ValidationError;pub use error::ValidationResult;pub use rules::RuleRegistry;pub use schema::SchemaValidator;