Skip to content

Unable to enter decimal values into certain properties, including Umb.PropertyEditorUi.Decimal. #18150

Closed
@markadrake

Description

@markadrake

Which Umbraco version are you using? (Please write the exact version, example: 10.1.0)

15.1.2

Bug summary

  1. Typing decimal values into the Umb.PropertyEditorUi.Decimal property editor is challenging.

  2. It also results in a quasi-error state.

Configuration and result below:

Image
Image

Specifics

  • I have configured a content type, with a property of type Umb.PropertyEditorUi.Decimal.
  • The default value is 0, and this value fills the box on first load.
Image
  • If I try to type .123 to create the value 0.123, the text box does not accept the . character and creates 1230 instead.
Image
  • If I highlight everything, backspace (and then backspace again because a 0 is inserted) I can now type the decimal portion of my number .123.
Image
Image
Image
Image

I can save and publish this now. The field will be highlighted in red, indicating a validation error, but the value is saved to the database and retained after a reload.

Image
Image

Steps to reproduce

The steps to reproduce this issue have already been included in the summary and specifics section.

Expected result / actual result

  1. Fighting with the JS component that auto-fills the value to 0 is frustrating, even when backspacing. I question why we chose to do anything on the "input" event. Should we apply a validation pattern instead?
  2. Allow the decimal character to be typed into the box at most once. Today, the input field does not accept this character unless it is the only character in the box (the value must be cleared twice to get to an empty state). Related to the "input" event again.
  3. Handle the internationalization of the decimal indicator. Is this working as expected between cultures on the document?
  4. Oddly enough, "e" is an acceptable character. Or are we allowing scientific notation? This relates to the #parseInt method, which is inappropriately named as it only verifies that the content is a number.
  5. The quasi-error state I describe above occurs once you enter three or more digits to the right of the decimal.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions