From de1e7eec91cf4467596e7150dff3461cf403e43c Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Sun, 21 Jan 2024 09:59:31 +0100 Subject: [PATCH] c2rs: added support for validator is_number. --- src/bin/c2rs.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/bin/c2rs.rs b/src/bin/c2rs.rs index 0718798..fe9e921 100644 --- a/src/bin/c2rs.rs +++ b/src/bin/c2rs.rs @@ -104,6 +104,10 @@ pub struct ZakFormElementValidator { pub type_comp: String, #[serde(rename = "@value_comp")] pub value_comp: String, + #[serde(rename = "@plus_minus")] + pub plus_minus: String, + #[serde(rename = "@thousands_separator")] + pub thousands_separator: String, #[serde(rename = "$text")] pub text: String, } @@ -276,6 +280,20 @@ fn main() { writeln!(output, "fi.add_validator(Box::new(v));"); }, + "zak_form_element_validator_is_number" => { + writeln!(output, r#"let mut v = zakform::validators::ValidatorNumber::new("{}_number_{}");"#, e.id, i); + + if validator.plus_minus == "TRUE" { + writeln!(output, "v.set_plus_minus(true);"); + } + if validator.thousands_separator != "" { + writeln!(output, "v.set_thousands_separator(Some('{}'));", validator.thousands_separator.as_str().chars().nth(0).unwrap()); + } else { + writeln!(output, "v.set_thousands_separator(None);"); + } + + writeln!(output, "fi.add_validator(Box::new(v));"); + }, _ => { }, }; } -- 2.49.0