1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
extern crate once_cell; use crate::validators::prelude::*; use validators_prelude::regex::Regex; use once_cell::sync::Lazy; static RE_KEY: Lazy<Regex> = Lazy::new(|| Regex::new(r"^[0-9a-zA-Z\-_]{40}$").unwrap()); #[derive(Debug, Clone, Validator)] #[validator(regex(RE_KEY))] pub struct ReCaptchaKey(String); impl ReCaptchaKey { #[inline] pub fn as_str(&self) -> &str { self.0.as_str() } } #[derive(Debug, Clone, Validator)] #[validator(base64_url(padding(NotAllow)))] pub struct ReCaptchaToken(String); impl ReCaptchaToken { #[inline] pub fn as_str(&self) -> &str { self.0.as_str() } }