]> saetta.ns0.it Git - rust/zakform/commitdiff
Changed to mut the returned vector with field's validators. validators
authorAndrea Zagli <azagli@libero.it>
Thu, 12 Mar 2026 13:07:27 +0000 (14:07 +0100)
committerAndrea Zagli <azagli@libero.it>
Thu, 12 Mar 2026 13:07:27 +0000 (14:07 +0100)
src/fields.rs

index 885921276ea82b4b7ffdddeac190e2cd69b6c1a9..1bb1c426867c1a2da34d2ef61b4ce1d9636aca75 100644 (file)
@@ -74,7 +74,7 @@ pub trait TField {
        fn filter(&mut self);
 
        fn add_validator(&mut self, validator: Box<dyn super::validators::TValidator>);
-       fn get_validators(&mut self) -> &Vec<Box<dyn super::validators::TValidator>>;
+       fn get_validators(&mut self) -> Vec<&mut Box<dyn super::validators::TValidator>>;
 
        fn set_template(&mut self, template: &str);
 
@@ -219,8 +219,14 @@ impl TField for FieldText {
                self.field.validators.push(validator);
        }
 
-       fn get_validators(&mut self) -> &Vec<Box<dyn super::validators::TValidator>> {
-               &self.field.validators
+       fn get_validators(&mut self) -> Vec<&mut Box<dyn super::validators::TValidator>> {
+               let mut v = vec![];
+
+               for f in &mut self.field.validators {
+                       v.push(f);
+               }
+
+               v
        }
 
        fn set_template(&mut self, template: &str) {
@@ -405,8 +411,14 @@ impl TField for FieldTextArea {
                self.field.validators.push(validator);
        }
 
-       fn get_validators(&mut self) -> &Vec<Box<dyn super::validators::TValidator>> {
-               &self.field.validators
+       fn get_validators(&mut self) -> Vec<&mut Box<dyn super::validators::TValidator>> {
+               let mut v = vec![];
+
+               for f in &mut self.field.validators {
+                       v.push(f);
+               }
+
+               v
        }
 
        fn set_template(&mut self, template: &str) {
@@ -600,8 +612,14 @@ impl TField for FieldRadio {
                self.field.validators.push(validator);
        }
 
-       fn get_validators(&mut self) -> &Vec<Box<dyn super::validators::TValidator>> {
-               &self.field.validators
+       fn get_validators(&mut self) -> Vec<&mut Box<dyn super::validators::TValidator>> {
+               let mut v = vec![];
+
+               for f in &mut self.field.validators {
+                       v.push(f);
+               }
+
+               v
        }
 
        fn set_template(&mut self, template: &str) {
@@ -848,8 +866,14 @@ impl TField for FieldSelect {
                self.field.validators.push(validator);
        }
 
-       fn get_validators(&mut self) -> &Vec<Box<dyn super::validators::TValidator>> {
-               &self.field.validators
+       fn get_validators(&mut self) -> Vec<&mut Box<dyn super::validators::TValidator>> {
+               let mut v = vec![];
+
+               for f in &mut self.field.validators {
+                       v.push(f);
+               }
+
+               v
        }
 
        fn set_template(&mut self, template: &str) {
@@ -1053,8 +1077,14 @@ impl TField for FieldCheck {
                self.field.validators.push(validator);
        }
 
-       fn get_validators(&mut self) -> &Vec<Box<dyn super::validators::TValidator>> {
-               &self.field.validators
+       fn get_validators(&mut self) -> Vec<&mut Box<dyn super::validators::TValidator>> {
+               let mut v = vec![];
+
+               for f in &mut self.field.validators {
+                       v.push(f);
+               }
+
+               v
        }
 
        fn set_template(&mut self, template: &str) {
@@ -1232,8 +1262,14 @@ impl TField for FieldButton {
                self.field.validators.push(validator);
        }
 
-       fn get_validators(&mut self) -> &Vec<Box<dyn super::validators::TValidator>> {
-               &self.field.validators
+       fn get_validators(&mut self) -> Vec<&mut Box<dyn super::validators::TValidator>> {
+               let mut v = vec![];
+
+               for f in &mut self.field.validators {
+                       v.push(f);
+               }
+
+               v
        }
 
        fn set_template(&mut self, template: &str) {
@@ -1405,8 +1441,14 @@ impl TField for FieldFile {
                self.field.validators.push(validator);
        }
 
-       fn get_validators(&mut self) -> &Vec<Box<dyn super::validators::TValidator>> {
-               &self.field.validators
+       fn get_validators(&mut self) -> Vec<&mut Box<dyn super::validators::TValidator>> {
+               let mut v = vec![];
+
+               for f in &mut self.field.validators {
+                       v.push(f);
+               }
+
+               v
        }
 
        fn set_template(&mut self, template: &str) {