@BT453567
Posted
Hello
I like your solution, it looks fantastic and I like the subtle details such as the no entry cursor when you hover over the de-active reset button.
Your validator is also very good. I like when you press an invalid key it does not appear in the input.
However, I have noticed a small issue with this. If a user decides to edit at the front of an input and puts a letter there, then a digit at the back will be removed. For example, if a user inputs 1234 and then changes the 1 for g, then the 4 will be removed and the g will remain.
I have expanded on your solution to the following where if an input does not pass the test, the input field (this.value) will be updated with the previous input value:
billAmount.addEventListener('input', function() {
const twoDecimalPlaces = /^\d*\.?\d{0,2}$/;
if (twoDecimalPlaces.test(this.value)) {
billAmountValue = this.value;
canTipBeCalculated();
} else {
this.value = billAmountValue;
}
});
Regards
Marked as helpful
@AcharaChisomSolomon
Posted
@BT453567 Thank you!!!