Skip to main content

backbone_catalog/application/validator/
attribute_value_validator.rs

1//! Validator for AttributeValue entity
2//!
3//! Generated by metaphor-schema. Do not edit manually.
4//!
5//! Returns an `EntityValidator<AttributeValue>` pre-loaded with schema-derived
6//! field rules. Extend in the `// <<< CUSTOM` zone.
7
8use backbone_core::{EntityValidator, ValidationErrors, ValidationError};
9use backbone_core::{OptionalNotBlank, RequiredString};
10use crate::domain::entity::AttributeValue;
11
12/// Validator type alias for AttributeValue entities.
13pub type AttributeValueValidator = EntityValidator<AttributeValue>;
14
15/// Build a validator for AttributeValue with all schema-defined field rules.
16pub 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