From 13f105527a7087b1ba9afda06936532347842477 Mon Sep 17 00:00:00 2001 From: MatteoPistorello Date: Tue, 30 Aug 2022 15:08:43 +0200 Subject: [PATCH] Aggiunta validazione per matricola Impianti --- modules/impianti/add.php | 2 +- modules/impianti/edit.php | 2 +- modules/impianti/validation.php | 42 +++++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 modules/impianti/validation.php diff --git a/modules/impianti/add.php b/modules/impianti/add.php index 60a5a553d..81c99cd78 100644 --- a/modules/impianti/add.php +++ b/modules/impianti/add.php @@ -27,7 +27,7 @@ $id_anagrafica = filter('id_anagrafica');
- {[ "type": "text", "label": "", "name": "matricola", "required": 1, "class": "text-center alphanumeric-mask", "maxlength": 25 ]} + {[ "type": "text", "label": "", "name": "matricola", "required": 1, "class": "text-center alphanumeric-mask", "maxlength": 25, "validation": "matricola" ]}
diff --git a/modules/impianti/edit.php b/modules/impianti/edit.php index 317746664..90448cc02 100644 --- a/modules/impianti/edit.php +++ b/modules/impianti/edit.php @@ -48,7 +48,7 @@ if (!empty($record['immagine'])) {
- {[ "type": "text", "label": "", "name": "matricola", "required": 1, "class": "text-center", "maxlength": 25, "value": "$matricola$" ]} + {[ "type": "text", "label": "", "name": "matricola", "required": 1, "class": "text-center", "maxlength": 25, "value": "$matricola$", "validation": "matricola" ]}
diff --git a/modules/impianti/validation.php b/modules/impianti/validation.php new file mode 100644 index 000000000..ea273a962 --- /dev/null +++ b/modules/impianti/validation.php @@ -0,0 +1,42 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + +use Modules\Impianti\Impianto; + +$name = filter('name'); +$value = filter('value'); + +switch ($name) { + case 'matricola': + $disponibile = Impianto::where([ + ['matricola', $value], + ['id', '<>', $id_record], + ])->count() == 0; + + $message = $disponibile ? tr('La matricola è disponbile') : tr('La matricola è già utilizzata in un altro impianto'); + + $response = [ + 'result' => $disponibile, + 'message' => $message, + ]; + + break; +}