优化校验,避免不必要的迭代

This commit is contained in:
李运家 2024-10-30 16:25:35 +08:00
parent c67884677c
commit a01536771e

View File

@ -12,24 +12,24 @@ pub fn validate_params(params: &impl Validate, local: &str) -> ResResult<ResData
Ok(_) => Result::Ok(ResData::none()),
Err(err) => {
let mut errors = vec![];
for (_, err) in err.errors().iter() {
for (_, err) in err.errors() {
match err {
validator::ValidationErrorsKind::Struct(err) => {
err.field_errors().iter().for_each(|(_field, errs)| {
errs.iter().for_each(|e| {
for (_field, errs) in err.field_errors() {
for e in errs {
let msg = e.message.clone().unwrap_or_default();
errors.push(message!(local, MessageId::from_str(msg.trim()).unwrap()))
});
});
errors.push(message!(local, MessageId::from_str(msg.trim()).unwrap()));
}
}
},
validator::ValidationErrorsKind::List(err) => {
for (_, err) in err.iter() {
err.field_errors().iter().for_each(|(_field, errs)| {
errs.iter().for_each(|e| {
for (_field, errs) in err.field_errors() {
for e in errs {
let msg = e.message.clone().unwrap_or_default();
errors.push(message!(local, MessageId::from_str(msg.trim()).unwrap()))
});
});
errors.push(message!(local, MessageId::from_str(msg.trim()).unwrap()));
}
}
}
},
validator::ValidationErrorsKind::Field(err) => {