diff --git a/superset/assets/spec/javascripts/explore/AdhocFilter_spec.js b/superset/assets/spec/javascripts/explore/AdhocFilter_spec.js
index 0cf9e58e1f310..36d3bdd09552d 100644
--- a/superset/assets/spec/javascripts/explore/AdhocFilter_spec.js
+++ b/superset/assets/spec/javascripts/explore/AdhocFilter_spec.js
@@ -112,6 +112,26 @@ describe('AdhocFilter', () => {
});
// eslint-disable-next-line no-unused-expressions
expect(adhocFilter3.isValid()).to.be.false;
+
+ const adhocFilter4 = new AdhocFilter({
+ expressionType: EXPRESSION_TYPES.SIMPLE,
+ subject: 'value',
+ operator: 'in',
+ comparator: [],
+ clause: CLAUSES.WHERE,
+ });
+ // eslint-disable-next-line no-unused-expressions
+ expect(adhocFilter4.isValid()).to.be.false;
+
+ const adhocFilter5 = new AdhocFilter({
+ expressionType: EXPRESSION_TYPES.SIMPLE,
+ subject: 'value',
+ operator: 'in',
+ comparator: ['val1'],
+ clause: CLAUSES.WHERE,
+ });
+ // eslint-disable-next-line no-unused-expressions
+ expect(adhocFilter5.isValid()).to.be.true;
});
it('can translate from simple expressions to sql expressions', () => {
diff --git a/superset/assets/src/explore/AdhocFilter.js b/superset/assets/src/explore/AdhocFilter.js
index 675cc27f613eb..7f1bdd019579f 100644
--- a/superset/assets/src/explore/AdhocFilter.js
+++ b/superset/assets/src/explore/AdhocFilter.js
@@ -83,7 +83,13 @@ export default class AdhocFilter {
isValid() {
if (this.expressionType === EXPRESSION_TYPES.SIMPLE) {
- return !!(this.operator && this.subject && this.comparator && this.clause);
+ return !!(
+ this.operator &&
+ this.subject &&
+ this.comparator &&
+ this.comparator.length > 0 &&
+ this.clause
+ );
} else if (this.expressionType === EXPRESSION_TYPES.SQL) {
return !!(this.sqlExpression && this.clause);
}
diff --git a/superset/assets/src/explore/components/AdhocFilterEditPopover.jsx b/superset/assets/src/explore/components/AdhocFilterEditPopover.jsx
index 103ce2272e77b..c8c0726cf980f 100644
--- a/superset/assets/src/explore/components/AdhocFilterEditPopover.jsx
+++ b/superset/assets/src/explore/components/AdhocFilterEditPopover.jsx
@@ -123,21 +123,24 @@ export default class AdhocFilterEditPopover extends React.Component {
onHeightChange={this.adjustHeight}
/>
- {
- (!this.props.datasource || this.props.datasource.type !== 'druid') &&
-