zino_core/validation/validator/ipv6_addr.rs
1use super::Validator;
2use std::{
3 net::{AddrParseError, Ipv6Addr},
4 str::FromStr,
5};
6
7/// A validator for [`Ipv6Addr`].
8#[derive(Debug, Clone, Copy, PartialEq, Eq)]
9pub struct Ipv6AddrValidator;
10
11impl Validator<str> for Ipv6AddrValidator {
12 type Error = AddrParseError;
13
14 #[inline]
15 fn validate(&self, data: &str) -> Result<(), Self::Error> {
16 Ipv6Addr::from_str(data)?;
17 Ok(())
18 }
19}