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 <d.csapak@proxmox.com>
This commit is contained in:
Dominik Csapak 2019-11-25 11:04:56 +01:00 committed by Thomas Lamprecht
parent ceca281f92
commit 013cbd6425

View File

@ -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();
}