From dcf535aa77d8eb4a4278b6c96dec4e4600e19540 Mon Sep 17 00:00:00 2001 From: xeovalyte Date: Tue, 12 Mar 2024 14:43:41 +0100 Subject: [PATCH] Added error message when name field is empty --- application/public/styles.scss | 5 +++++ application/src/main.rs | 2 +- application/src/pages/participants/add.rs | 12 +++++++++--- application/src/util/surrealdb.rs | 8 ++++++-- 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/application/public/styles.scss b/application/public/styles.scss index d32e94e..47f5567 100644 --- a/application/public/styles.scss +++ b/application/public/styles.scss @@ -110,3 +110,8 @@ form { width: 400px; } +.error { + color: red; + text-align: center; + font-size: 1.2em; +} diff --git a/application/src/main.rs b/application/src/main.rs index 169716a..4cc95bf 100644 --- a/application/src/main.rs +++ b/application/src/main.rs @@ -1,5 +1,5 @@ -use leptos::*; use application::App; +use leptos::*; fn main() { // set up logging diff --git a/application/src/pages/participants/add.rs b/application/src/pages/participants/add.rs index a619102..70e35c0 100644 --- a/application/src/pages/participants/add.rs +++ b/application/src/pages/participants/add.rs @@ -19,13 +19,16 @@ pub fn Add() -> impl IntoView { let (name, set_name) = create_signal(String::from("")); let (group, set_group) = create_signal(String::from("A1")); + let (error, set_error) = create_signal(String::from("")); let on_submit = move |ev: leptos::ev::SubmitEvent| { ev.prevent_default(); + set_error.set(String::from("")); - websocket.add_person(name.get(), group.get()); - - set_name.set(String::from("")) + match websocket.add_person(name.get(), group.get()) { + Ok(_) => set_name.set(String::from("")), + Err(err) => set_error.set(err), + } }; view! {

"Deelnemer toevoegen"

@@ -80,5 +83,8 @@ pub fn Add() -> impl IntoView { /> +

+ { error } +

} } diff --git a/application/src/util/surrealdb.rs b/application/src/util/surrealdb.rs index 5af0fbb..30a9e06 100644 --- a/application/src/util/surrealdb.rs +++ b/application/src/util/surrealdb.rs @@ -102,7 +102,11 @@ impl SurrealContext { self.send(&json!(request).to_string()); } - pub fn add_person(&self, name: String, group: String) { + pub fn add_person(&self, name: String, group: String) -> Result<(), String> { + if name.is_empty() { + return Err(String::from("Name cannot be empty")); + } + let request = SurrealRequest { id: 1, method: String::from("create"), @@ -115,7 +119,7 @@ impl SurrealContext { ], }; - self.send(&json!(request).to_string()) + Ok(self.send(&json!(request).to_string())) } }