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 <s.rei...@proxmox.com>
---

Before my last patch they didn't validate enough, now they validate too much...
I tried my best to test all of our ComboGrids once again, hope I didn't miss
anything this time.

 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);
                        }
                    }
-- 
2.20.1


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to