[pve-devel] [PATCH manager] add kvcombobox validator
Dominik Csapak
d.csapak at proxmox.com
Fri Nov 18 10:13:37 CET 2016
this enables validation of all kvcomboboxes, including
multiselect
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
www/manager6/form/KVComboBox.js | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/www/manager6/form/KVComboBox.js b/www/manager6/form/KVComboBox.js
index beafed0..a135f4d 100644
--- a/www/manager6/form/KVComboBox.js
+++ b/www/manager6/form/KVComboBox.js
@@ -33,6 +33,28 @@ Ext.define('PVE.form.KVComboBox', {
return data;
},
+ validator: function(val) {
+ var me = this;
+
+ if (me.editable || val === null || val === '') {
+ return true;
+ }
+
+ if (me.comboItems) {
+ var values = me.multiSelect ? val.split(me.delimiter) : [val];
+ var items = Ext.Array.pluck(me.comboItems, 1);
+ if (Ext.Array.every(values, function(value) {
+ return Ext.Array.contains(items, value);
+ })) {
+ return true;
+ }
+ }
+
+ // returns a boolean or string
+ /*jslint confusion: true */
+ return "value '" + val + "' not allowed!";
+ },
+
initComponent: function() {
var me = this;
--
2.1.4
More information about the pve-devel
mailing list