diff --git a/validator/src/display_impl.rs b/validator/src/display_impl.rs index fc71a178..247dba2b 100644 --- a/validator/src/display_impl.rs +++ b/validator/src/display_impl.rs @@ -5,9 +5,9 @@ use crate::{ValidationError, ValidationErrors, ValidationErrorsKind}; impl fmt::Display for ValidationError { fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { if let Some(msg) = self.message.as_ref() { - write!(fmt, "{}", msg) + writeln!(fmt, "{}", msg) } else { - write!(fmt, "Validation error: {} [{:?}]", self.code, self.params) + writeln!(fmt, "Validation error: {} [{:?}]", self.code, self.params) } } } diff --git a/validator/tests/display.rs b/validator/tests/display.rs index e6bfa660..2cb5e481 100644 --- a/validator/tests/display.rs +++ b/validator/tests/display.rs @@ -47,9 +47,13 @@ mod tests { #[test] fn test_nested_vec() { - let bad_foo = Foo { foo: "hi!".into() }; - let bad_baz = Baz { baz: vec![bad_foo] }; + let bad_foo_1 = Foo { foo: "hi!".into() }; + let bad_foo_2 = Foo { foo: "hi!".into() }; + let bad_baz = Baz { baz: vec![bad_foo_1, bad_foo_2] }; let err = format!("{}", bad_baz.validate().unwrap_err()); - assert_eq!(err, "baz[0].foo: Please provide a valid foo!"); + assert_eq!( + err, + "baz[0].foo: Please provide a valid foo!\nbaz[1].foo: Please provide a valid foo!" + ); } }