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}