async_graphql/validators/
min_length.rs1use crate::{InputType, InputValueError};
2
3pub fn min_length<T: AsRef<str> + InputType>(
4 value: &T,
5 len: usize,
6) -> Result<(), InputValueError<T>> {
7 if value.as_ref().len() >= len {
8 Ok(())
9 } else {
10 Err(format!(
11 "the string length is {}, must be greater than or equal to {}",
12 value.as_ref().len(),
13 len
14 )
15 .into())
16 }
17}
18
19#[cfg(test)]
20mod tests {
21 use super::*;
22
23 #[test]
24 fn test_min_length() {
25 assert!(min_length(&"ab".to_string(), 3).is_err());
26 assert!(min_length(&"abc".to_string(), 3).is_ok());
27 assert!(min_length(&"abcd".to_string(), 3).is_ok());
28 }
29}