From 6f5e0ea655dfe8af0bc09727d423c85014f1f98f Mon Sep 17 00:00:00 2001 From: Stefan Reiter Date: Mon, 3 Feb 2020 15:14:42 +0100 Subject: [PATCH] ComboGrid: fix validation for !allowBlank disabled fields Used in "Add USB to VM" dialog for example. This was broken before 15206214d9 "ComboGrid: fix on-load validation for blank values" (only the one you enabled first was validated, the other always showed as valid), and afterwards too, but in a different way (both are now immediately marked invalid until you select and unselect them) - which is how I noticed. With this the validation now works correctly. Signed-off-by: Stefan Reiter --- form/ComboGrid.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/form/ComboGrid.js b/form/ComboGrid.js index 54bc239..9bdf721 100644 --- a/form/ComboGrid.js +++ b/form/ComboGrid.js @@ -378,6 +378,13 @@ Ext.define('Proxmox.form.ComboGrid', { return true; }, + // validate after enabling a field, otherwise blank fields with !allowBlank + // are sometimes not marked as invalid + setDisabled: function(value) { + this.callParent([value]); + this.validate(); + }, + initComponent: function() { var me = this; @@ -461,7 +468,7 @@ Ext.define('Proxmox.form.ComboGrid', { me.setValue(def, true); } else if (!me.allowBlank && !(Ext.isArray(def) ? def.length : def)) { me.setValue(def); - if (!me.notFoundIsValid) { + if (!me.notFoundIsValid && !me.isDisabled()) { me.markInvalid(me.blankText); } }