zino_core/validation/validator/
ip_addr.rs

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