[pve-devel] applied: [PATCH widget-toolkit] ComboGrid: fix validation for !allowBlank disabled fields

Thomas Lamprecht t.lamprecht at proxmox.com
Wed Feb 5 08:43:45 CET 2020


Am 2/3/20 um 3:14 PM schrieb Stefan Reiter:
> 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.
> 

applied, thanks & I hope too ;)

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




More information about the pve-devel mailing list