From 013cbd64258cc46eacf6a424201b55c4b9499996 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Mon, 25 Nov 2019 11:04:56 +0100 Subject: [PATCH] fix #2421: ComboGrid: correctly validate multiSelect variant on multiSelect we have to check the values that is in the values array, but we get the 'displaystring' in the validator so we have to get the 'real' value (aka the underlying array of values) before checking if they are in the store Signed-off-by: Dominik Csapak --- form/ComboGrid.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/form/ComboGrid.js b/form/ComboGrid.js index 6dac534..3cc64f9 100644 --- a/form/ComboGrid.js +++ b/form/ComboGrid.js @@ -362,7 +362,11 @@ Ext.define('Proxmox.form.ComboGrid', { // we normally get here the displayField as value, but if a valueField // is configured we need to get the "actual" value, to ensure it is in // the store. Below check is copied from ExtJS 6.0.2 ComboBox source - if (me.valueField && me.valueField !== me.displayField) { + // + // we also have to get the 'real' value if the we have a mulitSelect + // Field but got a non array value + if ((me.valueField && me.valueField !== me.displayField) || + (me.multiSelect && !Ext.isArray(value))) { value = me.getValue(); }