swift_mt_message/fields/common/
reference_field.rs

1use serde::{Deserialize, Serialize};
2use swift_mt_message_macros::SwiftField;
3
4/// Generic Reference Field
5///
6/// Used for reference fields like transaction references and related references.
7/// Handles 16x format with reference-specific validation rules.
8/// Format: 16x (up to 16 alphanumeric characters)
9/// Validation: reference_format, no_slashes
10#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, SwiftField)]
11pub struct GenericReferenceField {
12    /// Reference value
13    #[component("16x", validate = ["reference_format", "no_slashes"])]
14    pub value: String,
15}