修改校验错误消息处理逻辑
This commit is contained in:
parent
a04c65848a
commit
6572f48696
@ -5,40 +5,43 @@ use validator::Validate;
|
|||||||
use super::response::{ResData, ResErr, ResResult};
|
use super::response::{ResData, ResErr, ResResult};
|
||||||
|
|
||||||
pub fn validate_params(params: &impl Validate, _local: &str) -> ResResult<ResData<()>> {
|
pub fn validate_params(params: &impl Validate, _local: &str) -> ResResult<ResData<()>> {
|
||||||
params.validate().map_err(|e| {
|
let validate_err = params.validate();
|
||||||
let mut errors = vec![];
|
match validate_err {
|
||||||
for (_, err) in e.errors().iter() {
|
Ok(_) => Result::Ok(ResData::none()),
|
||||||
match err {
|
Err(err) => {
|
||||||
validator::ValidationErrorsKind::Struct(err) => {
|
let mut errors = vec![];
|
||||||
err.field_errors().iter().for_each(|(_field, errs)| {
|
for (_, err) in err.errors().iter() {
|
||||||
errs.iter().for_each(|e| {
|
match err {
|
||||||
if let Some(Cow::Owned(msg)) = e.message.clone() {
|
validator::ValidationErrorsKind::Struct(err) => {
|
||||||
errors.push(msg);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
},
|
|
||||||
validator::ValidationErrorsKind::List(err) => {
|
|
||||||
for (_, err) in err.iter() {
|
|
||||||
err.field_errors().iter().for_each(|(_field, errs)| {
|
err.field_errors().iter().for_each(|(_field, errs)| {
|
||||||
errs.iter().for_each(|e| {
|
errs.iter().for_each(|e| {
|
||||||
if let Some(Cow::Owned(msg)) = e.message.clone() {
|
let msg = e.message.clone().unwrap_or_default();
|
||||||
errors.push(msg);
|
let msg_str = msg.to_string();
|
||||||
}
|
errors.push(msg_str)
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
},
|
validator::ValidationErrorsKind::List(err) => {
|
||||||
validator::ValidationErrorsKind::Field(err) => {
|
for (_, err) in err.iter() {
|
||||||
err.iter().for_each(|e| {
|
err.field_errors().iter().for_each(|(_field, errs)| {
|
||||||
if let Some(Cow::Owned(msg)) = e.message.clone() {
|
errs.iter().for_each(|e| {
|
||||||
errors.push(msg);
|
let msg = e.message.clone().unwrap_or_default();
|
||||||
|
let msg_str = msg.to_string();
|
||||||
|
errors.push(msg_str)
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
},
|
||||||
},
|
validator::ValidationErrorsKind::Field(err) => {
|
||||||
};
|
err.iter().for_each(|e| {
|
||||||
}
|
let msg = e.message.clone().unwrap_or_default();
|
||||||
ResErr::params(errors.join(";"))
|
let msg_str = msg.to_string();
|
||||||
})?;
|
errors.push(msg_str)
|
||||||
Result::Ok(ResData::none())
|
});
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
Err(ResErr::params(errors.join(";")))
|
||||||
|
},
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user