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 {}