From: Andrea Zagli Date: Wed, 27 Sep 2023 12:55:15 +0000 (+0200) Subject: Validator massage. X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;h=0f747e6bc57ee9480163d078fc5a37b27a3e04a2;p=rust%2Fzakform Validator massage. --- diff --git a/src/validators.rs b/src/validators.rs index a4cf75e..5a16859 100644 --- a/src/validators.rs +++ b/src/validators.rs @@ -3,11 +3,15 @@ use std::default::Default; #[derive(Default)] struct Validator { name: String, + message: String, } pub trait TValidator { fn get_name(&self) -> String; + fn get_message(&self) -> String; + fn set_message(&mut self, message: &str); + fn validate(&self, value: &String) -> bool; } @@ -21,6 +25,14 @@ impl TValidator for ValidatorNotEmpty { String::from(&self.validator.name) } + fn get_message(&self) -> String { + String::from(&self.validator.message) + } + + fn set_message(&mut self, message: &str) { + self.validator.message = String::from(message); + } + fn validate(&self, value: &String) -> bool { if value != "" { true @@ -34,6 +46,7 @@ impl ValidatorNotEmpty { pub fn new(name: &String) -> Self { let mut v: ValidatorNotEmpty = Default::default(); v.validator.name = String::from(name); + v.validator.message = String::from("Mandatory field"); v } @@ -50,6 +63,14 @@ impl TValidator for ValidatorRegex { String::from(&self.validator.name) } + fn get_message(&self) -> String { + String::from(&self.validator.message) + } + + fn set_message(&mut self, message: &str) { + self.validator.message = String::from(message); + } + fn validate(&self, value: &String) -> bool { true } @@ -59,6 +80,7 @@ impl ValidatorRegex { pub fn new(name: &String, regex: &str) -> Self { let mut v: ValidatorRegex = Default::default(); v.validator.name = String::from(name); + v.validator.message = String::from("Invalid value"); v.regex = String::from(regex); v