From: Andrea Zagli Date: Wed, 27 Sep 2023 13:10:25 +0000 (+0200) Subject: Field validate. X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;h=6a61305d6e00b49d4a38bd7b13830b2ec3ce1497;p=rust%2Fzakform Field validate. --- diff --git a/src/fields.rs b/src/fields.rs index fffff93..98615d5 100644 --- a/src/fields.rs +++ b/src/fields.rs @@ -75,9 +75,26 @@ pub trait TField { fn render(&self) -> String; + fn validate(&self) -> String; + fn any(&mut self) -> &mut dyn Any; } +fn validate_std(f: &Field) -> String { + let mut s = String::from(""); + + s +} + #[derive(Default)] pub struct FieldText { field: Field, @@ -210,6 +227,10 @@ impl TField for FieldText { s } + fn validate(&self) -> String { + validate_std(&self.field) + } + fn any(&mut self) -> &mut dyn Any { self } @@ -387,6 +408,10 @@ impl TField for FieldTextArea { s } + fn validate(&self) -> String { + validate_std(&self.field) + } + fn any(&mut self) -> &mut dyn Any { self } @@ -571,6 +596,10 @@ impl TField for FieldRadio { s } + fn validate(&self) -> String { + validate_std(&self.field) + } + fn any(&mut self) -> &mut dyn Any { self } @@ -784,6 +813,10 @@ impl TField for FieldSelect { s } + fn validate(&self) -> String { + validate_std(&self.field) + } + fn any(&mut self) -> &mut dyn Any { self } @@ -961,6 +994,10 @@ impl TField for FieldCheck { s } + fn validate(&self) -> String { + validate_std(&self.field) + } + fn any(&mut self) -> &mut dyn Any { self } @@ -1120,6 +1157,10 @@ impl TField for FieldButton { s } + fn validate(&self) -> String { + validate_std(&self.field) + } + fn any(&mut self) -> &mut dyn Any { self } diff --git a/src/validators.rs b/src/validators.rs index 5a16859..65428a3 100644 --- a/src/validators.rs +++ b/src/validators.rs @@ -12,7 +12,7 @@ pub trait TValidator { fn get_message(&self) -> String; fn set_message(&mut self, message: &str); - fn validate(&self, value: &String) -> bool; + fn validate(&self, value: &String) -> String; } #[derive(Default)] @@ -33,11 +33,11 @@ impl TValidator for ValidatorNotEmpty { self.validator.message = String::from(message); } - fn validate(&self, value: &String) -> bool { + fn validate(&self, value: &String) -> String { if value != "" { - true + self.get_message() } else { - false + String::from("") } } } @@ -71,8 +71,8 @@ impl TValidator for ValidatorRegex { self.validator.message = String::from(message); } - fn validate(&self, value: &String) -> bool { - true + fn validate(&self, value: &String) -> String { + String::from("") } }