Fix decimal point issue in expense form schema amount
field
#90
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The
amount
input field in the "add expense" view uses thedecimal
inputMode. This renders a numbers-only keyboard that on some locales only allows the user to input a comma as the decimal point. However, the zod schema does not permit a comma as the decimal point, sinceNumber(value)
will returnNaN
for such numbers.E.g.
Number("1.23") === 1.23
, butNumber("1,23") === NaN
.Solution
Replace commas with dots in the user-inputted amount value before casting it to a JS number. The rest of the schema validation will proceed as normal.
Fixes #78