From fd4741f10d27fee863e317fa178277a4180baa89 Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Thu, 12 Mar 2026 14:07:27 +0100 Subject: [PATCH] Changed to mut the returned vector with field's validators. --- src/fields.rs | 72 ++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 57 insertions(+), 15 deletions(-) diff --git a/src/fields.rs b/src/fields.rs index 8859212..1bb1c42 100644 --- a/src/fields.rs +++ b/src/fields.rs @@ -74,7 +74,7 @@ pub trait TField { fn filter(&mut self); fn add_validator(&mut self, validator: Box); - fn get_validators(&mut self) -> &Vec>; + fn get_validators(&mut self) -> Vec<&mut Box>; 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> { - &self.field.validators + fn get_validators(&mut self) -> Vec<&mut Box> { + 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> { - &self.field.validators + fn get_validators(&mut self) -> Vec<&mut Box> { + 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> { - &self.field.validators + fn get_validators(&mut self) -> Vec<&mut Box> { + 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> { - &self.field.validators + fn get_validators(&mut self) -> Vec<&mut Box> { + 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> { - &self.field.validators + fn get_validators(&mut self) -> Vec<&mut Box> { + 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> { - &self.field.validators + fn get_validators(&mut self) -> Vec<&mut Box> { + 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> { - &self.field.validators + fn get_validators(&mut self) -> Vec<&mut Box> { + let mut v = vec![]; + + for f in &mut self.field.validators { + v.push(f); + } + + v } fn set_template(&mut self, template: &str) { -- 2.53.0