backend_kit/
validator.rs

1use validator::Validate;
2
3use crate::error;
4
5pub fn validate<T: Validate>(value: &T) -> Result<(), error::Error> {
6    if let Err(err) = value.validate() {
7        if let Some((field, errors)) = err.field_errors().iter().next() {
8            let message = errors.first().map(|e| e.to_string()).unwrap_or_default();
9
10            return Err(error::invalid_argument_with_message(
11                format!("{}: {}", field, message).as_str(),
12            ));
13        }
14    }
15    Ok(())
16}