Skip to main content

lab_resource_manager/domain/common/value_objects/
errors.rs

1use std::fmt;
2
3/// EmailAddress Value Objectのエラー型
4#[derive(Debug, Clone, PartialEq)]
5pub enum EmailAddressError {
6    /// '@'が含まれていない
7    MissingAtSign,
8}
9
10impl fmt::Display for EmailAddressError {
11    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
12        match self {
13            Self::MissingAtSign => write!(f, "無効なメールアドレス形式: '@'が含まれていません"),
14        }
15    }
16}
17
18impl std::error::Error for EmailAddressError {}
19
20impl crate::domain::errors::DomainError for EmailAddressError {}