2023-09-08 11:53:08 +02:00
|
|
|
use leptos::*;
|
|
|
|
|
use crate::locales::trl;
|
|
|
|
|
use crate::validator::Validator;
|
|
|
|
|
|
|
|
|
|
#[component]
|
|
|
|
|
pub fn ValidationErr(
|
|
|
|
|
validator: Validator,
|
|
|
|
|
) -> impl IntoView {
|
2023-09-15 13:55:01 +02:00
|
|
|
view! {{move || {
|
2023-09-08 11:53:08 +02:00
|
|
|
if !validator.is_valid() {
|
|
|
|
|
if let Some(msgs) = validator.messages() {
|
|
|
|
|
let out_msgs = msgs.into_iter().map(move |e| {
|
2023-09-15 13:55:01 +02:00
|
|
|
view! {
|
2023-09-08 11:53:08 +02:00
|
|
|
<div class="alert alert-danger">
|
2023-09-15 13:55:01 +02:00
|
|
|
{trl(&e)}
|
2023-09-08 11:53:08 +02:00
|
|
|
</div>
|
|
|
|
|
}
|
2023-09-15 13:55:01 +02:00
|
|
|
}).collect_view();
|
|
|
|
|
view! {
|
2023-09-08 11:53:08 +02:00
|
|
|
<div>
|
|
|
|
|
{out_msgs}
|
|
|
|
|
</div>
|
|
|
|
|
}
|
|
|
|
|
} else {
|
2023-09-15 13:55:01 +02:00
|
|
|
view! {
|
2023-09-08 11:53:08 +02:00
|
|
|
<div class="alert alert-danger">
|
|
|
|
|
"Validation error"
|
|
|
|
|
</div>
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
2023-09-15 13:55:01 +02:00
|
|
|
view! {<div></div>}
|
2023-09-08 11:53:08 +02:00
|
|
|
}
|
|
|
|
|
}}
|
|
|
|
|
}
|
|
|
|
|
}
|