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 <s.reiter@proxmox.com>
This commit is contained in:
Stefan Reiter 2020-02-03 15:14:42 +01:00 committed by Thomas Lamprecht
parent 97cdcd2836
commit 6f5e0ea655

View File

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