I have encountered a scenario where the user can filter a dataset of inventory based on two location designations (internal stock vs. external stock). The user can filter for internal stock, external stock, or both, but at least one designation must be selected or else the dataset would be blank.

Is it better to do this as a checkbox, with a validation that at least one must be selected?

[ ] Include internal stock  
[ ] Include external stock

Or as radio buttons?

( ) Internal stock only
( ) External stock only
( ) All stock

Alternatively, should we go with a multi-select list box in this situation and mark the field as required?

2 Answers 2


your checkbox solution with validation is better suited for this. users intuitively know checkboxes are independent of each other.

The 3rd option while good, isn't so common. hence it might be not obvious to the user that multi select is possible.


Both input methods are valid. It depends on how you want to convey the intention. It's a matter of nuance.

First, to improve your examples a bit, start with a form group with a title above it. In HTML this would be created using a <fieldset> with a <legend>. The title/legend adds a clear relation between the options that better communicates what the intention is. Radio buttons are supposed to be mandatory (that's why you can't unselect a radio button), but the checkboxes need a little instruction beforehand to make clear at least one is mandatory and need validation.

Choose at least one to include:
[ ] Internal stock
[ ] External stock

You don't have to mention in the label that multiple can be selected for checkboxes, nor that only one can be selected for radio buttons, that is common knowledge you can expect users have.

As you mentioned, in this case, the radio buttons only make sense when there are two options (plus a "both" option). The benefit of this opposed to checkboxes is that it communicates explicitly that Internal and External stock can be combined. With checkboxes you leave this to the user to discover. The need for this nuanced difference depends a lot on the context and the users. So without more context I can't advise on that. Important is to label the third option as unambiguous as possible:

Choose what to include:
( ) Internal stock
( ) External stock
( ) Internal and external stock

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.