private void setNotNull(final AbstractField field) { field.setImmediate(true); if (nullorempty(field.getValue())) { errors.add(field); save.setEnabled(false); } field.addValueChangeListener( new Property.ValueChangeListener() { @Override public void valueChange(Property.ValueChangeEvent valueChangeEvent) { if (nullorempty(field.getValue())) errors.add(field); else errors.remove(field); save.setEnabled(errors.isEmpty()); } }); }