[pve-devel] [PATCH widget-toolkit] ComboGrid: fix validation for !allowBlank disabled fields
Stefan Reiter
s.reiter at proxmox.com
Mon Feb 3 15:14:42 CET 2020
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 at 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
More information about the pve-devel
mailing list