Fixed Decimal Benefits
Reduced Input Errors
Requiring no decimal reduces syntax error handling. The input is limited to 0-9 numeric characters and delete/backspace. So you help avoid cases like “54.2.89” (multi-decimal) or mistype of decimals.
Requires No Decimal (or Comma)
Sticking to digits 0-9 means you only need to use the top row of the keyboard.
The Fixed Decimal approach reduces confusion in a numerical field that requires decimal points.
Look at bank ATMs: when you're entering the value of a check (which you're depositing) you are using the Fixed Decimal approach. They do this as they want to reduce the chance of error. If one types in 28 the question is: are you depositing $28.00 or $0.28
Provide immediate, polite feedback when the user has entered an invalid number.
Immediately validate if the number entered is within the allowable range. If not, show a small, unobtrusive message next to the input.
Additionally, do not disable any buttons or ignore any inputs, as this will always be unexpected. If I know I pressed a wrong key but you ...
In the HTML, label the email field "username", both name and ID attributes. Use "Email" as the label that the user sees. They will be setting a login that is an email.
Don't capture a separate username, as that might be confusing ("Which do I log in with?") Use Display Name as a handle that will be used throughout the site.
Yes, the design of any type of input is essentially an affordance on how the element ought to be used.
Affordances are an object’s properties that show the possible actions users can take with it, thereby suggesting how they may interact with that object. For instance, a button can look as if it needs to be turned or pushed. The ...
I know it's 4 years late, but my solution is to have a third radio option for "mixed values". This option only appears when applicable. If the user selects option A or B, the mixed values option then disappears or disables. This way you still have one and only one option selected at all times but still communicate to the user that this input was mixed.