pub struct Validator {
pub name: String,
pub message: String,
+ pub enabled: bool,
}
pub trait TValidator {
fn set_message(&mut self, message: &str);
fn validate(&self, value: &String) -> String;
+
+ fn set_enabled(&mut self, enabled: bool);
}
#[derive(Default)]
}
fn validate(&self, value: &String) -> String {
- if value == "" {
- self.get_message()
+ if self.validator.enabled {
+ if value == "" {
+ self.get_message()
+ } else {
+ String::from("")
+ }
} else {
String::from("")
}
}
+
+ fn set_enabled(&mut self, enabled: bool) {
+ self.validator.enabled = enabled;
+ }
}
impl ValidatorNotEmpty {
let mut v: ValidatorNotEmpty = Default::default();
v.validator.name = String::from(name);
v.validator.message = String::from(super::TR.gettext("Mandatory field"));
+ v.validator.enabled = true;
v
}
}
fn validate(&self, value: &String) -> String {
+ if !self.validator.enabled {
+ return String::from("");
+ }
+
match &self.re {
Some(re) => {
if re.is_match(value) {
None => { String::from("") },
}
}
+
+ fn set_enabled(&mut self, enabled: bool) {
+ self.validator.enabled = enabled;
+ }
}
impl ValidatorRegex {
let mut v: ValidatorRegex = Default::default();
v.validator.name = String::from(name);
v.validator.message = String::from(super::TR.gettext("Invalid value"));
+ v.validator.enabled = true;
v.set_regex(regex);
v
}
fn validate(&self, value: &String) -> String {
+ if !self.validator.enabled {
+ return String::from("");
+ }
+
let value_ = value.trim();
if value_ == "" {
return String::from("");
return String::from("");
}
+
+ fn set_enabled(&mut self, enabled: bool) {
+ self.validator.enabled = enabled;
+ }
}
impl ValidatorDate {
let mut v: ValidatorDate = Default::default();
v.validator.name = String::from(name);
v.validator.message = String::from(super::TR.gettext("Invalid date"));
+ v.validator.enabled = true;
v
}
None => { self.compare_value = None; },
}
}
+
+ fn set_enabled(&mut self, enabled: bool) {
+ self.validator.enabled = enabled;
+ }
}
pub enum ValidatorTimeCompareType {
}
fn validate(&self, value: &String) -> String {
+ if !self.validator.enabled {
+ return String::from("");
+ }
+
let value_ = value.trim();
if value_ == "" {
return String::from("");
return String::from("");
}
+
+ fn set_enabled(&mut self, enabled: bool) {
+ self.validator.enabled = enabled;
+ }
}
impl ValidatorTime {
let mut v: ValidatorTime = Default::default();
v.validator.name = String::from(name);
v.validator.message = String::from(super::TR.gettext("Invalid time"));
+ v.validator.enabled = true;
v
}
}
fn validate(&self, value: &String) -> String {
+ if !self.validator.enabled {
+ return String::from("");
+ }
+
let tesc: String;
let desc: String;
return String::from("");
}
+
+ fn set_enabled(&mut self, enabled: bool) {
+ self.validator.enabled = enabled;
+ }
}
impl ValidatorNumber {
let mut v: ValidatorNumber = Default::default();
v.validator.name = String::from(name);
v.validator.message = String::from(super::TR.gettext("Invalid number"));
+ v.validator.enabled = true;
v.thousands_separator = Some('.');
v.decimals_separator = Some(',');