From 9b5cf165b4d970927b5dd04adb4445c45ebfe7a6 Mon Sep 17 00:00:00 2001 From: Adrian Greeve Date: Tue, 3 May 2016 12:48:00 +0800 Subject: [PATCH] MDL-53402 mod_data: Added custom validation code for data fields. Added custom validation to radiobutton, menu, and checkbox. --- mod/data/field/checkbox/field.class.php | 2 +- mod/data/field/menu/field.class.php | 11 +++++++++++ mod/data/field/radiobutton/field.class.php | 10 ++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/mod/data/field/checkbox/field.class.php b/mod/data/field/checkbox/field.class.php index 07112920f2b..fd486905e87 100644 --- a/mod/data/field/checkbox/field.class.php +++ b/mod/data/field/checkbox/field.class.php @@ -234,7 +234,7 @@ class data_field_checkbox extends data_field_base { function notemptyfield($value, $name) { $found = false; foreach ($value as $checkboxitem) { - if (!empty($checkboxitem)) { + if (strval($checkboxitem) !== '') { $found = true; break; } diff --git a/mod/data/field/menu/field.class.php b/mod/data/field/menu/field.class.php index 941576e1fc9..341149267e9 100644 --- a/mod/data/field/menu/field.class.php +++ b/mod/data/field/menu/field.class.php @@ -117,4 +117,15 @@ class data_field_menu extends data_field_base { return array(" ({$tablealias}.fieldid = {$this->field->id} AND $varcharcontent = :$name) ", array($name=>$value)); } + /** + * Check if a field from an add form is empty + * + * @param mixed $value + * @param mixed $name + * @return bool + */ + function notemptyfield($value, $name) { + return strval($value) !== ''; + } + } diff --git a/mod/data/field/radiobutton/field.class.php b/mod/data/field/radiobutton/field.class.php index 6e5b10de7fc..053d5037a6a 100644 --- a/mod/data/field/radiobutton/field.class.php +++ b/mod/data/field/radiobutton/field.class.php @@ -116,5 +116,15 @@ class data_field_radiobutton extends data_field_base { return array(" ({$tablealias}.fieldid = {$this->field->id} AND $varcharcontent = :$name) ", array($name=>$value)); } + /** + * Check if a field from an add form is empty + * + * @param mixed $value + * @param mixed $name + * @return bool + */ + function notemptyfield($value, $name) { + return strval($value) !== ''; + } }