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}