use backbone_core::{EntityValidator, ValidationErrors, ValidationError};
use backbone_core::{OptionalNotBlank, RequiredString};
use crate::domain::entity::PrintedCheck;
pub type PrintedCheckValidator = EntityValidator<PrintedCheck>;
pub fn printed_check_validator() -> PrintedCheckValidator {
EntityValidator::new()
.rule(OptionalNotBlank::new("payment_number", |e: &PrintedCheck| e.payment_number.as_deref()))
.rule(RequiredString::new("check_number", |e: &PrintedCheck| &e.check_number))
.rule(OptionalNotBlank::new("payee_name", |e: &PrintedCheck| e.payee_name.as_deref()))
.rule(RequiredString::new("status", |e: &PrintedCheck| &e.status))
}