backbone_catalog/application/validator/
attribute_value_validator.rs1use backbone_core::{EntityValidator, ValidationErrors, ValidationError};
9use backbone_core::{OptionalNotBlank, RequiredString};
10use crate::domain::entity::AttributeValue;
11
12pub type AttributeValueValidator = EntityValidator<AttributeValue>;
14
15pub fn attribute_value_validator() -> AttributeValueValidator {
17 EntityValidator::new()
18 .rule(RequiredString::new("code", |e: &AttributeValue| &e.code))
19 .rule(RequiredString::new("label", |e: &AttributeValue| &e.label))
20 .rule(OptionalNotBlank::new("label_en", |e: &AttributeValue| e.label_en.as_deref()))
21 .rule(OptionalNotBlank::new("swatch_hex", |e: &AttributeValue| e.swatch_hex.as_deref()))
22 .rule(OptionalNotBlank::new("icon", |e: &AttributeValue| e.icon.as_deref()))
23}
24