We have a page built into our Knack app which asks users for 5 star ratings, using the Star Rating field, obviously. Our team is now considering moving to a 1-10 rating system in the next version. My question is, what would be the simplest field option for a 1-10 rating system? I thought of a multiple choice field where 1 through 10 are options, but that seems cumbersome. Possibly a clever use of the Equation field? All thoughts are good thoughts, and thanks in advance.
Hi Joseph,
although cumbersome to build, the 1-10 multiple choice field is the best for the user (there is a bit of code that can make the options display horizontally rather than vertically). And if you need to analyse the data as numbers you have to then add a corresponding Number field and use conditional rules to set the numbers (if the choice is 1 set the Number field to 1 etc).
Having done this my preferred option would be to use a number field where the user sets the number, and have a validation rule that limits the numbers to 0, 1, 2, 3 etc.
I think I saw somewhere a bit of JS to insert a slider somewhere, but I try and avoid too much extra code if I can!
Happy to run through examples of both on live apps if you like.
Hugo
Before I knew there was a rating field type, I created a rating by using a number field and a short text field.
The number field was constrained to only have 1-5 entries by formatting to no decimal places and using Validation Rules to constrain the answer between the lower and upper limits.
The Short Text field value was set to Star emoticons ( ) using Conditional Rules.
In the examples below, “Bluebeam AVG” is the Number field.
Star Emoticons can be copy paste or use the Windows Emoticon Shortcut (WINDOWS KEY & PERIOD)
When displaying the rating in a Grid, I add a column to edit the record, but use the Short Text field as the Value to display in the Link…
And that link opens a modal form that only edits the Number field value, with instructions to give a rating between 1 and 5.
Let me know if you need more explanation. I wrote this in a hurry.
Good idea @Erik. I’ve done something similar with a text field and emojis to create a status bar but not ratings. Nice one.
Great stuff. Thanks so much to you both. A follow up question: we are interested in creating aggregate data with those ratings, averaging them and such. Do the methods you describe work for creating usable (i.e. crunchable) values?
Hi Joseph,
as long s the rating can be expressed numerically, then yes, and in each of these examples there is - either in Erik’s example where you start with a number, or in my multi-choice example where you use the choice to get a number using conditional rules.
Cheers
Yes.
Actually, the example images I posted are average fields, since I abandoned this method when I realized there was an actual rating field type.
I’m pretty sure the rating fields evaluate as numbers (important in my use case, but not yours) and I just created an Average Field referencing those other fields.