summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xclasses/pref/filters.php2
-rw-r--r--js/form/ValidationMultiSelect.js20
-rwxr-xr-xjs/prefs.js1
-rw-r--r--js/tt-rss.js1
4 files changed, 23 insertions, 1 deletions
diff --git a/classes/pref/filters.php b/classes/pref/filters.php
index c00e52bde..9388cc8d7 100755
--- a/classes/pref/filters.php
+++ b/classes/pref/filters.php
@@ -695,7 +695,7 @@ class Pref_Filters extends Handler_Protected {
$feed_ids = explode(",", clean($_REQUEST["ids"]));
print json_encode([
- "multiselect" => $this->_feed_multi_select("feed_id", $feed_ids, 'style="width : 540px; height : 300px" dojoType="dijit.form.MultiSelect"')
+ "multiselect" => $this->_feed_multi_select("feed_id", $feed_ids, 'required="1" style="width : 540px; height : 300px" dojoType="fox.form.ValidationMultiSelect"')
]);
}
diff --git a/js/form/ValidationMultiSelect.js b/js/form/ValidationMultiSelect.js
new file mode 100644
index 000000000..4e7263c61
--- /dev/null
+++ b/js/form/ValidationMultiSelect.js
@@ -0,0 +1,20 @@
+/* global define */
+
+// only supports required for the time being
+// TODO: maybe show dojo native error message? i dunno
+define(["dojo/_base/declare", "dojo/_base/lang", "dijit/form/MultiSelect", ],
+ function(declare, lang, MultiSelect) {
+
+ return declare('fox.form.ValidationMultiSelect', [MultiSelect], {
+ constructor: function(params){
+ this.constraints = {};
+ this.baseClass += ' dijitValidationMultiSelect';
+ },
+ validate: function(/*Boolean*/ isFocused){
+ if (this.required && this.attr('value').length == 0)
+ return false;
+
+ return true;
+ },
+ })
+ });
diff --git a/js/prefs.js b/js/prefs.js
index a23a74856..8f4f45700 100755
--- a/js/prefs.js
+++ b/js/prefs.js
@@ -53,6 +53,7 @@ require(["dojo/_base/kernel",
"fox/PrefLabelTree",
"fox/Toolbar",
"fox/SingleUseDialog",
+ "fox/form/ValidationMultiSelect",
"fox/form/ValidationTextArea",
"fox/form/Select",
"fox/form/ComboButton",
diff --git a/js/tt-rss.js b/js/tt-rss.js
index 8d7dd00a6..4a7f2e643 100644
--- a/js/tt-rss.js
+++ b/js/tt-rss.js
@@ -51,6 +51,7 @@ require(["dojo/_base/kernel",
"fox/FeedTree",
"fox/Toolbar",
"fox/SingleUseDialog",
+ "fox/form/ValidationMultiSelect",
"fox/form/ValidationTextArea",
"fox/form/Select",
"fox/form/ComboButton",