use std::{error::Error, ops::Range}; pub fn validate_optional_length( opt: &Option, len_range: Range, err: E, ) -> Result, E> { if let Some(opt) = opt { let opt = opt.trim(); if !len_range.contains(&opt.len()) { Err(err) } else { Ok(Some(opt.to_string())) } } else { Ok(None) } }