优化校验,避免不必要的迭代
This commit is contained in:
parent
c67884677c
commit
a01536771e
@ -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) => {
|
||||
|
Loading…
Reference in New Issue
Block a user