backbone-banking 0.7.1

Cash & bank — bank/account master, statement import, reconciliation, and clearing postings (5th GL producer)
Documentation
//! Validator for BankTransaction entity
//!
//! Generated by metaphor-schema. Do not edit manually.
//!
//! Returns an `EntityValidator<BankTransaction>` pre-loaded with schema-derived
//! field rules. Extend in the `// <<< CUSTOM` zone.

use backbone_core::{EntityValidator, ValidationErrors, ValidationError};
use backbone_core::{NonNegative, OptionalNotBlank, RequiredString};
use crate::domain::entity::BankTransaction;

/// Validator type alias for BankTransaction entities.
pub type BankTransactionValidator = EntityValidator<BankTransaction>;

/// Build a validator for BankTransaction with all schema-defined field rules.
pub fn bank_transaction_validator() -> BankTransactionValidator {
    EntityValidator::new()
        .rule(OptionalNotBlank::new("description", |e: &BankTransaction| e.description.as_deref()))
        .rule(OptionalNotBlank::new("reference_no", |e: &BankTransaction| e.reference_no.as_deref()))
        .rule(RequiredString::new("currency", |e: &BankTransaction| &e.currency))
    // <<< CUSTOM RULES
    // END CUSTOM RULES
}

// <<< CUSTOM
// END CUSTOM