zino_core/validation/validator/
ipv4_addr.rs

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