pub struct ValidationIssue {
pub severity: Severity,
pub category: ValidationCategory,
pub code: String,
pub message: String,
pub segment_position: Option<SegmentPosition>,
pub field_path: Option<String>,
pub rule: Option<String>,
pub actual_value: Option<String>,
pub expected_value: Option<String>,
pub bo4e_path: Option<String>,
pub instance_index: Option<usize>,
}Expand description
A single validation issue found in an EDIFACT message.
Fields§
§severity: SeveritySeverity level of this issue.
category: ValidationCategoryCategory of this issue.
code: StringMachine-readable error code (e.g., “STR001”, “AHB003”).
message: StringHuman-readable error message.
segment_position: Option<SegmentPosition>Position in the EDIFACT message where the issue was found.
field_path: Option<String>Field path within the segment (e.g., “SG2/NAD/C082/3039”).
rule: Option<String>The AHB rule that triggered this issue (e.g., “Muss [182] ∧ [152]”).
actual_value: Option<String>The actual value found (if applicable).
expected_value: Option<String>The expected value (if applicable).
bo4e_path: Option<String>BO4E field path (e.g., “stammdaten.Marktlokation.marktlokationsId”). Set when validation is triggered from BO4E input and errors can be traced back to the source BO4E structure.
instance_index: Option<usize>Index of the group instance this issue applies to (0-based) when
the issue originated inside a group repetition. None for issues
that aren’t scoped to a specific instance (e.g., top-level root
fields, unmatched rules, flat-segment checks).
Implementations§
Source§impl ValidationIssue
impl ValidationIssue
Sourcepub fn new(
severity: Severity,
category: ValidationCategory,
code: impl Into<String>,
message: impl Into<String>,
) -> Self
pub fn new( severity: Severity, category: ValidationCategory, code: impl Into<String>, message: impl Into<String>, ) -> Self
Create a new validation issue with the required fields.
Sourcepub fn with_position(self, position: impl Into<SegmentPosition>) -> Self
pub fn with_position(self, position: impl Into<SegmentPosition>) -> Self
Builder: set the segment position.
Sourcepub fn with_field_path(self, path: impl Into<String>) -> Self
pub fn with_field_path(self, path: impl Into<String>) -> Self
Builder: set the field path.
Sourcepub fn with_actual(self, value: impl Into<String>) -> Self
pub fn with_actual(self, value: impl Into<String>) -> Self
Builder: set the actual value.
Sourcepub fn with_expected(self, value: impl Into<String>) -> Self
pub fn with_expected(self, value: impl Into<String>) -> Self
Builder: set the expected value.
Sourcepub fn with_bo4e_path(self, path: impl Into<String>) -> Self
pub fn with_bo4e_path(self, path: impl Into<String>) -> Self
Builder: set the BO4E field path.
Sourcepub fn with_instance_index(self, index: usize) -> Self
pub fn with_instance_index(self, index: usize) -> Self
Builder: set the group instance index (0-based) this issue applies to.
Sourcepub fn is_warning(&self) -> bool
pub fn is_warning(&self) -> bool
Returns true if this is a warning-level issue.
Trait Implementations§
Source§impl Clone for ValidationIssue
impl Clone for ValidationIssue
Source§fn clone(&self) -> ValidationIssue
fn clone(&self) -> ValidationIssue
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more