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}