Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package icingaweb2-module-incubator for 
openSUSE:Factory checked in at 2022-07-08 14:01:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/icingaweb2-module-incubator (Old)
 and      /work/SRC/openSUSE:Factory/.icingaweb2-module-incubator.new.1523 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "icingaweb2-module-incubator"

Fri Jul  8 14:01:49 2022 rev:5 rq:987427 version:0.17.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/icingaweb2-module-incubator/icingaweb2-module-incubator.changes
  2022-04-26 20:17:49.280764517 +0200
+++ 
/work/SRC/openSUSE:Factory/.icingaweb2-module-incubator.new.1523/icingaweb2-module-incubator.changes
        2022-07-08 14:01:56.798448923 +0200
@@ -1,0 +2,6 @@
+Thu Jul  7 12:22:54 UTC 2022 - ecsos <ec...@opensuse.org>
+
+- Update to 0.17.0
+  - No changelog from upstream.
+
+-------------------------------------------------------------------

Old:
----
  icingaweb2-module-incubator-0.16.0.tar.gz

New:
----
  icingaweb2-module-incubator-0.17.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ icingaweb2-module-incubator.spec ++++++
--- /var/tmp/diff_new_pack.2Cnkww/_old  2022-07-08 14:01:57.226449381 +0200
+++ /var/tmp/diff_new_pack.2Cnkww/_new  2022-07-08 14:01:57.230449385 +0200
@@ -20,7 +20,7 @@
 %define basedir        %{_datadir}/icingaweb2
 %define module_name incubator
 Name:           icingaweb2-module-%{module_name}
-Version:        0.16.0
+Version:        0.17.0
 Release:        0
 Summary:        Bleeding edge Icinga Web 2 libraries
 License:        MIT

++++++ icingaweb2-module-incubator-0.16.0.tar.gz -> 
icingaweb2-module-incubator-0.17.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/icingaweb2-module-incubator-0.16.0/README.md 
new/icingaweb2-module-incubator-0.17.0/README.md
--- old/icingaweb2-module-incubator-0.16.0/README.md    2022-04-18 
18:31:00.000000000 +0200
+++ new/icingaweb2-module-incubator-0.17.0/README.md    2022-06-20 
10:53:02.000000000 +0200
@@ -5,14 +5,14 @@
 Please download the latest release and install it like any other module.
 
 > **HINT**: Do NOT install the GIT master, it will not work! Checking out a
-> branch like `stable/0.16.0` or a tag like `v0.16.0` is fine.
+> branch like `stable/0.17.0` or a tag like `v0.17.0` is fine.
 
 Sample Tarball installation
 ---------------------------
 
 ```sh
 MODULE_NAME=incubator
-MODULE_VERSION=v0.16.0
+MODULE_VERSION=v0.17.0
 MODULES_PATH="/usr/share/icingaweb2/modules"
 MODULE_PATH="${MODULES_PATH}/${MODULE_NAME}"
 RELEASES="https://github.com/Icinga/icingaweb2-module-${MODULE_NAME}/archive";
@@ -27,7 +27,7 @@
 
 ```sh
 MODULE_NAME=incubator
-MODULE_VERSION=v0.16.0
+MODULE_VERSION=v0.17.0
 REPO="https://github.com/Icinga/icingaweb2-module-${MODULE_NAME}";
 MODULES_PATH="/usr/share/icingaweb2/modules"
 git clone ${REPO} "${MODULES_PATH}/${MODULE_NAME}" --branch "${MODULE_VERSION}"
@@ -47,4 +47,4 @@
 
 e.g.
 
-    ./bin/make-release.sh 0.16.0
+    ./bin/make-release.sh 0.17.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/icingaweb2-module-incubator-0.16.0/composer.json 
new/icingaweb2-module-incubator-0.17.0/composer.json
--- old/icingaweb2-module-incubator-0.16.0/composer.json        2022-04-18 
18:31:00.000000000 +0200
+++ new/icingaweb2-module-incubator-0.17.0/composer.json        2022-06-20 
10:53:02.000000000 +0200
@@ -26,7 +26,7 @@
         "gipfl/format": ">=0.3",
         "gipfl/icinga-bundles": ">=0.7",
         "gipfl/icinga-cli-daemon": ">=0.3.2",
-        "gipfl/icingaweb2": ">=0.6",
+        "gipfl/icingaweb2": ">=0.8",
         "gipfl/influxdb": ">=0.3",
         "gipfl/json": ">=0.2",
         "gipfl/linux-health": ">=0.2",
@@ -40,7 +40,7 @@
         "gipfl/stream": ">=0.2",
         "gipfl/systemd": ">=0.3",
         "gipfl/translation": ">=0.1.1",
-        "gipfl/web": ">=0.9",
+        "gipfl/web": ">=0.10",
         "gipfl/zfdb": ">=0.3",
         "gipfl/zfdbstore": ">=0.2.2"
     },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/icingaweb2-module-incubator-0.16.0/composer.lock 
new/icingaweb2-module-incubator-0.17.0/composer.lock
--- old/icingaweb2-module-incubator-0.16.0/composer.lock        2022-04-18 
18:31:00.000000000 +0200
+++ new/icingaweb2-module-incubator-0.17.0/composer.lock        2022-06-20 
10:53:02.000000000 +0200
@@ -4,7 +4,7 @@
         "Read more about it at 
https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies";,
         "This file is @generated automatically"
     ],
-    "content-hash": "688d943b7dc43ac3ffc78209bf403c3e",
+    "content-hash": "d1b86c98893601c58f28668f3f6022f0",
     "packages": [
         {
             "name": "gipfl/calendar",
@@ -418,16 +418,16 @@
         },
         {
             "name": "gipfl/icingaweb2",
-            "version": "v0.7.1",
+            "version": "v0.8.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/gipfl/icingaweb2.git";,
-                "reference": "0dadbb500be25671188f884f77e0b1aeaad877d9"
+                "reference": "5b48b218e130f90d7c91d58eca63b0ebbf366e0f"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/gipfl/icingaweb2/zipball/0dadbb500be25671188f884f77e0b1aeaad877d9";,
-                "reference": "0dadbb500be25671188f884f77e0b1aeaad877d9",
+                "url": 
"https://api.github.com/repos/gipfl/icingaweb2/zipball/5b48b218e130f90d7c91d58eca63b0ebbf366e0f";,
+                "reference": "5b48b218e130f90d7c91d58eca63b0ebbf366e0f",
                 "shasum": ""
             },
             "require": {
@@ -448,9 +448,9 @@
             "homepage": "https://github.com/gipfl/icingaweb2";,
             "support": {
                 "issues": "https://github.com/gipfl/icingaweb2/issues";,
-                "source": "https://github.com/gipfl/icingaweb2/tree/v0.7.1";
+                "source": "https://github.com/gipfl/icingaweb2/tree/v0.8.0";
             },
-            "time": "2022-01-14T16:52:28+00:00"
+            "time": "2022-06-20T08:38:59+00:00"
         },
         {
             "name": "gipfl/influxdb",
@@ -1112,16 +1112,16 @@
         },
         {
             "name": "gipfl/web",
-            "version": "v0.9.0",
+            "version": "v0.10.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/gipfl/web.git";,
-                "reference": "7c5c9d503caeb65050d56f557bdf174efaa928d1"
+                "reference": "f75082f7111d77d7ab620c36a69f61f0f2c246fe"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/gipfl/web/zipball/7c5c9d503caeb65050d56f557bdf174efaa928d1";,
-                "reference": "7c5c9d503caeb65050d56f557bdf174efaa928d1",
+                "url": 
"https://api.github.com/repos/gipfl/web/zipball/f75082f7111d77d7ab620c36a69f61f0f2c246fe";,
+                "reference": "f75082f7111d77d7ab620c36a69f61f0f2c246fe",
                 "shasum": ""
             },
             "require": {
@@ -1148,9 +1148,9 @@
             "description": "Various web widgets",
             "support": {
                 "issues": "https://github.com/gipfl/web/issues";,
-                "source": "https://github.com/gipfl/web/tree/v0.9.0";
+                "source": "https://github.com/gipfl/web/tree/v0.10.0";
             },
-            "time": "2022-04-18T16:29:35+00:00"
+            "time": "2022-05-11T11:20:34+00:00"
         },
         {
             "name": "gipfl/zfdb",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/icingaweb2-module-incubator-0.16.0/module.info 
new/icingaweb2-module-incubator-0.17.0/module.info
--- old/icingaweb2-module-incubator-0.16.0/module.info  2022-04-18 
18:31:00.000000000 +0200
+++ new/icingaweb2-module-incubator-0.17.0/module.info  2022-06-20 
10:53:02.000000000 +0200
@@ -1,5 +1,5 @@
 Name: Incubator
-Version: 0.16.0
+Version: 0.17.0
 Depends: ipl (>=0.5.0), reactbundle (>=0.8.0)
 Description: Incubator provides bleeding-edge libraries
  This repository ships libraries useful for Icinga Web 2 modules. Please 
download
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/icingaweb2-module-incubator-0.16.0/vendor/autoload.php 
new/icingaweb2-module-incubator-0.17.0/vendor/autoload.php
--- old/icingaweb2-module-incubator-0.16.0/vendor/autoload.php  2022-04-18 
18:31:00.000000000 +0200
+++ new/icingaweb2-module-incubator-0.17.0/vendor/autoload.php  2022-06-20 
10:53:02.000000000 +0200
@@ -4,4 +4,4 @@
 
 require_once __DIR__ . '/composer/autoload_real.php';
 
-return ComposerAutoloaderInit8c84235a7608026d0c4e729df6f9cc74::getLoader();
+return ComposerAutoloaderInit120e3006c5b508ecbe133e1b37811ff5::getLoader();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/icingaweb2-module-incubator-0.16.0/vendor/composer/autoload_real.php 
new/icingaweb2-module-incubator-0.17.0/vendor/composer/autoload_real.php
--- old/icingaweb2-module-incubator-0.16.0/vendor/composer/autoload_real.php    
2022-04-18 18:31:00.000000000 +0200
+++ new/icingaweb2-module-incubator-0.17.0/vendor/composer/autoload_real.php    
2022-06-20 10:53:02.000000000 +0200
@@ -2,7 +2,7 @@
 
 // autoload_real.php @generated by Composer
 
-class ComposerAutoloaderInit8c84235a7608026d0c4e729df6f9cc74
+class ComposerAutoloaderInit120e3006c5b508ecbe133e1b37811ff5
 {
     private static $loader;
 
@@ -24,15 +24,15 @@
 
         require __DIR__ . '/platform_check.php';
 
-        
spl_autoload_register(array('ComposerAutoloaderInit8c84235a7608026d0c4e729df6f9cc74',
 'loadClassLoader'), true, true);
+        
spl_autoload_register(array('ComposerAutoloaderInit120e3006c5b508ecbe133e1b37811ff5',
 'loadClassLoader'), true, true);
         self::$loader = $loader = new 
\Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
-        
spl_autoload_unregister(array('ComposerAutoloaderInit8c84235a7608026d0c4e729df6f9cc74',
 'loadClassLoader'));
+        
spl_autoload_unregister(array('ComposerAutoloaderInit120e3006c5b508ecbe133e1b37811ff5',
 'loadClassLoader'));
 
         $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') 
&& (!function_exists('zend_loader_file_encoded') || 
!zend_loader_file_encoded());
         if ($useStaticLoader) {
             require __DIR__ . '/autoload_static.php';
 
-            
call_user_func(\Composer\Autoload\ComposerStaticInit8c84235a7608026d0c4e729df6f9cc74::getInitializer($loader));
+            
call_user_func(\Composer\Autoload\ComposerStaticInit120e3006c5b508ecbe133e1b37811ff5::getInitializer($loader));
         } else {
             $map = require __DIR__ . '/autoload_namespaces.php';
             foreach ($map as $namespace => $path) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/icingaweb2-module-incubator-0.16.0/vendor/composer/autoload_static.php 
new/icingaweb2-module-incubator-0.17.0/vendor/composer/autoload_static.php
--- old/icingaweb2-module-incubator-0.16.0/vendor/composer/autoload_static.php  
2022-04-18 18:31:00.000000000 +0200
+++ new/icingaweb2-module-incubator-0.17.0/vendor/composer/autoload_static.php  
2022-06-20 10:53:02.000000000 +0200
@@ -4,7 +4,7 @@
 
 namespace Composer\Autoload;
 
-class ComposerStaticInit8c84235a7608026d0c4e729df6f9cc74
+class ComposerStaticInit120e3006c5b508ecbe133e1b37811ff5
 {
     public static $prefixLengthsPsr4 = array (
         'g' => 
@@ -170,9 +170,9 @@
     public static function getInitializer(ClassLoader $loader)
     {
         return \Closure::bind(function () use ($loader) {
-            $loader->prefixLengthsPsr4 = 
ComposerStaticInit8c84235a7608026d0c4e729df6f9cc74::$prefixLengthsPsr4;
-            $loader->prefixDirsPsr4 = 
ComposerStaticInit8c84235a7608026d0c4e729df6f9cc74::$prefixDirsPsr4;
-            $loader->classMap = 
ComposerStaticInit8c84235a7608026d0c4e729df6f9cc74::$classMap;
+            $loader->prefixLengthsPsr4 = 
ComposerStaticInit120e3006c5b508ecbe133e1b37811ff5::$prefixLengthsPsr4;
+            $loader->prefixDirsPsr4 = 
ComposerStaticInit120e3006c5b508ecbe133e1b37811ff5::$prefixDirsPsr4;
+            $loader->classMap = 
ComposerStaticInit120e3006c5b508ecbe133e1b37811ff5::$classMap;
 
         }, null, ClassLoader::class);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/icingaweb2-module-incubator-0.16.0/vendor/composer/installed.json 
new/icingaweb2-module-incubator-0.17.0/vendor/composer/installed.json
--- old/icingaweb2-module-incubator-0.16.0/vendor/composer/installed.json       
2022-04-18 18:31:00.000000000 +0200
+++ new/icingaweb2-module-incubator-0.17.0/vendor/composer/installed.json       
2022-06-20 10:53:02.000000000 +0200
@@ -438,17 +438,17 @@
         },
         {
             "name": "gipfl/icingaweb2",
-            "version": "v0.7.1",
-            "version_normalized": "0.7.1.0",
+            "version": "v0.8.0",
+            "version_normalized": "0.8.0.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/gipfl/icingaweb2.git";,
-                "reference": "0dadbb500be25671188f884f77e0b1aeaad877d9"
+                "reference": "5b48b218e130f90d7c91d58eca63b0ebbf366e0f"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/gipfl/icingaweb2/zipball/0dadbb500be25671188f884f77e0b1aeaad877d9";,
-                "reference": "0dadbb500be25671188f884f77e0b1aeaad877d9",
+                "url": 
"https://api.github.com/repos/gipfl/icingaweb2/zipball/5b48b218e130f90d7c91d58eca63b0ebbf366e0f";,
+                "reference": "5b48b218e130f90d7c91d58eca63b0ebbf366e0f",
                 "shasum": ""
             },
             "require": {
@@ -458,7 +458,7 @@
                 "ipl/html": ">=0.2.1",
                 "php": ">=5.6"
             },
-            "time": "2022-01-14T16:52:28+00:00",
+            "time": "2022-06-20T08:38:59+00:00",
             "type": "library",
             "installation-source": "dist",
             "autoload": {
@@ -471,7 +471,7 @@
             "homepage": "https://github.com/gipfl/icingaweb2";,
             "support": {
                 "issues": "https://github.com/gipfl/icingaweb2/issues";,
-                "source": "https://github.com/gipfl/icingaweb2/tree/v0.7.1";
+                "source": "https://github.com/gipfl/icingaweb2/tree/v0.8.0";
             },
             "install-path": "../gipfl/icingaweb2"
         },
@@ -1180,17 +1180,17 @@
         },
         {
             "name": "gipfl/web",
-            "version": "v0.9.0",
-            "version_normalized": "0.9.0.0",
+            "version": "v0.10.0",
+            "version_normalized": "0.10.0.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/gipfl/web.git";,
-                "reference": "7c5c9d503caeb65050d56f557bdf174efaa928d1"
+                "reference": "f75082f7111d77d7ab620c36a69f61f0f2c246fe"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/gipfl/web/zipball/7c5c9d503caeb65050d56f557bdf174efaa928d1";,
-                "reference": "7c5c9d503caeb65050d56f557bdf174efaa928d1",
+                "url": 
"https://api.github.com/repos/gipfl/web/zipball/f75082f7111d77d7ab620c36a69f61f0f2c246fe";,
+                "reference": "f75082f7111d77d7ab620c36a69f61f0f2c246fe",
                 "shasum": ""
             },
             "require": {
@@ -1198,7 +1198,7 @@
                 "ipl/html": ">=0.3",
                 "php": ">=5.6.0"
             },
-            "time": "2022-04-18T16:29:35+00:00",
+            "time": "2022-05-11T11:20:34+00:00",
             "type": "library",
             "installation-source": "dist",
             "autoload": {
@@ -1219,7 +1219,7 @@
             "description": "Various web widgets",
             "support": {
                 "issues": "https://github.com/gipfl/web/issues";,
-                "source": "https://github.com/gipfl/web/tree/v0.9.0";
+                "source": "https://github.com/gipfl/web/tree/v0.10.0";
             },
             "install-path": "../gipfl/web"
         },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/icingaweb2-module-incubator-0.16.0/vendor/composer/installed.php 
new/icingaweb2-module-incubator-0.17.0/vendor/composer/installed.php
--- old/icingaweb2-module-incubator-0.16.0/vendor/composer/installed.php        
2022-04-18 18:31:00.000000000 +0200
+++ new/icingaweb2-module-incubator-0.17.0/vendor/composer/installed.php        
2022-06-20 10:53:02.000000000 +0200
@@ -5,7 +5,7 @@
         'type' => 'library',
         'install_path' => __DIR__ . '/../../',
         'aliases' => array(),
-        'reference' => '9555df0310aaa792341f647047e76ce0cfafb475',
+        'reference' => '25991e00d319a9d5f546f83a4d9ed66a0a22ab6a',
         'name' => 'icinga/incubator',
         'dev' => true,
     ),
@@ -176,12 +176,12 @@
             'dev_requirement' => false,
         ),
         'gipfl/icingaweb2' => array(
-            'pretty_version' => 'v0.7.1',
-            'version' => '0.7.1.0',
+            'pretty_version' => 'v0.8.0',
+            'version' => '0.8.0.0',
             'type' => 'library',
             'install_path' => __DIR__ . '/../gipfl/icingaweb2',
             'aliases' => array(),
-            'reference' => '0dadbb500be25671188f884f77e0b1aeaad877d9',
+            'reference' => '5b48b218e130f90d7c91d58eca63b0ebbf366e0f',
             'dev_requirement' => false,
         ),
         'gipfl/influxdb' => array(
@@ -320,12 +320,12 @@
             'dev_requirement' => false,
         ),
         'gipfl/web' => array(
-            'pretty_version' => 'v0.9.0',
-            'version' => '0.9.0.0',
+            'pretty_version' => 'v0.10.0',
+            'version' => '0.10.0.0',
             'type' => 'library',
             'install_path' => __DIR__ . '/../gipfl/web',
             'aliases' => array(),
-            'reference' => '7c5c9d503caeb65050d56f557bdf174efaa928d1',
+            'reference' => 'f75082f7111d77d7ab620c36a69f61f0f2c246fe',
             'dev_requirement' => false,
         ),
         'gipfl/zfdb' => array(
@@ -358,7 +358,7 @@
             'type' => 'library',
             'install_path' => __DIR__ . '/../../',
             'aliases' => array(),
-            'reference' => '9555df0310aaa792341f647047e76ce0cfafb475',
+            'reference' => '25991e00d319a9d5f546f83a4d9ed66a0a22ab6a',
             'dev_requirement' => false,
         ),
         'ipl/html' => array(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/icingaweb2-module-incubator-0.16.0/vendor/gipfl/icingaweb2/src/Translator.php
 
new/icingaweb2-module-incubator-0.17.0/vendor/gipfl/icingaweb2/src/Translator.php
--- 
old/icingaweb2-module-incubator-0.16.0/vendor/gipfl/icingaweb2/src/Translator.php
   2022-04-18 18:31:00.000000000 +0200
+++ 
new/icingaweb2-module-incubator-0.17.0/vendor/gipfl/icingaweb2/src/Translator.php
   2022-06-20 10:53:02.000000000 +0200
@@ -2,7 +2,6 @@
 
 namespace gipfl\IcingaWeb2;
 
-use Icinga\Util\Translator as WebTranslator;
 use gipfl\Translation\TranslatorInterface;
 
 class Translator implements TranslatorInterface
@@ -17,6 +16,11 @@
 
     public function translate($string)
     {
-        return WebTranslator::translate($string, $this->domain);
+        $res = dgettext($this->domain, $string);
+        if ($res === $string && $this->domain !== 'icinga') {
+            return dgettext('icinga', $string);
+        }
+
+        return $res;
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/icingaweb2-module-incubator-0.16.0/vendor/gipfl/web/src/Form/Element/MultiSelect.php
 
new/icingaweb2-module-incubator-0.17.0/vendor/gipfl/web/src/Form/Element/MultiSelect.php
--- 
old/icingaweb2-module-incubator-0.16.0/vendor/gipfl/web/src/Form/Element/MultiSelect.php
    2022-04-18 18:31:00.000000000 +0200
+++ 
new/icingaweb2-module-incubator-0.17.0/vendor/gipfl/web/src/Form/Element/MultiSelect.php
    2022-06-20 10:53:02.000000000 +0200
@@ -11,7 +11,15 @@
 
     public function __construct($name, $attributes = null)
     {
+        // Make sure we set  value last as it depends on options
+        if (isset($attributes['value'])) {
+            $value = $attributes['value'];
+            unset($attributes['value']);
+            $attributes['value'] = $value;
+        }
+
         parent::__construct($name, $attributes);
+
         $this->getAttributes()->add('multiple', true);
     }
 
@@ -70,17 +78,23 @@
         }
     }
 
-    public function isValid()
+    public function validate()
     {
-        if ($this->valid === null) {
-            if ($this->isRequired() && empty($this->getValue())) {
-                return false;
-            }
-
-            $this->validate();
+        /**
+         * @TODO(lippserd): {@link SelectElement::validate()} doesn't work 
here because isset checks fail with
+         * illegal offset type errors since our value is an array. It would 
make sense to decouple the classes to
+         * avoid having to copy code from the base class.
+         * Also note that {@see setValue()} already performs most of the 
validation.
+         */
+        if ($this->isRequired() && empty($this->getValue())) {
+            $this->valid = false;
+        } else {
+            /**
+             * Copied from {@link \ipl\Html\BaseHtmlElement::validate()}.
+             */
+            $this->valid = $this->getValidators()->isValid($this->getValue());
+            $this->addMessages($this->getValidators()->getMessages());
         }
-
-        return $this->valid;
     }
 
     public function updateSelection()

Reply via email to