Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

I need to allow users to enter a number between X (minimum number) and Y (maximum number). X and Y will have different values depending on the specific client set-up of the tool. These values could be quite different from client to client.

What control can I use for enabling users to enter a constrained number from potentially 1000's, without relying on error validation?

Thanks :)

share|improve this question
It seems you are describing an editable spinbox which has a settable min/max value and a text field to manually enter a value which is automatically arranged to be reigned in to range. Example from Qt There's bound to be controls available for your platform - (whatever that is). Are you needing something more than this? –  Roger Attrill Mar 9 '12 at 11:02
What do you mean by "to enter a constrained number from"? –  inkmarble Mar 9 '12 at 11:05
Yes, I think that might be what I need. The incremental adjustments aren't ideal, as although you'll need to be able to move up/down by an increment of 1 in theory, it's much more likely that you'll adjust by 10 or more places at a time. Looking at patterns for alternatives now, thanks for pointing me in right direction. –  sparklypips Mar 9 '12 at 11:12
@sparklypips - most spinboxes would allow you to set a step increment (but which defaults to 1) –  Roger Attrill Mar 9 '12 at 11:16
@inkmarble The number is constrained between a minimum and maximum. But the range might include 1000's of values. For example minimum = 3.5, maximum = 100. –  sparklypips Mar 9 '12 at 16:42
add comment

2 Answers

While it depends on the range and accuracy of the numbers that need to be input, as well as the number of numbers that need to be entered, on possible solution (and I know some won't like this idea) would be to use a slider.

The advantages of a slider is that it can quickly show users the min/max values, and can also be easily adjusted to have increments as coarse or as fine as the application configuration requires. It is also relatively easy for the user to quickly jump from a value at one end of the spectrum to another.

There are a number of examples of good sliders here on UX.se, but one in particular that I like allows the user to set the slider value in a text box on the sliding element. The benefit this has is that it allows very fine-grained control using just a keyboard, so it is highly accessible and also better able to handle scenarios where a power user needs to enter a large amount of data quickly.

share|improve this answer
Thanks for your response. A bit more info: We have a product that is rebranded for many clients, and at present it includes a slider option. Every client has so far requested that the slider be removed ase end users find it difficult. The slider design may be to blame but I also think it's inherently difficult because of the large number of values. We have a text entry alternative but I can't see the point in the slider if users almost always have to use the text input. –  sparklypips Mar 9 '12 at 16:41
I would question the system requirement for needing values that precise over that large of a range in the first place, but that issue aside, I think a better-designed slider would help, but it works best for a small number of fields and gets less useful as the number of fields rises. Ultimately, you may be just as well off using a text-box with the range indicated near the box and validating it as the input loses focus. –  cdeszaq Mar 9 '12 at 16:58
add comment

When you say "without error validation", do you mean validation upon submitting the form? Or are you open to the idea of inline-validation that checks the input values as user tabs over to next field? I think it is certainly easier than the slider method that you've already tried.


download bmml source – Wireframes created with Balsamiq Mockups

This type of inline-validation is highly reusable and doesn't require extensive development effort. You can even get fancy, and apply other conditions for each input field, such as decimal point, minimum increment value, etc.

share|improve this answer
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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