@@ -3504,6 +3504,44 @@ function validateFloatKeyPress(el, evt) {
return true;
}
+function validateFloatKeyPressDuitPelanggan(el, evt) {
+
+ var charCode = (evt.which) ? evt.which : event.keyCode;
+ var number = el.value;
+ let keypress = evt.key;
+
+ // Split the current value by dot to check the number of decimal places
+ var numberParts = number.split('.');
+
+ // Check if the pressed key is a valid character for a floating-point number
+ if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
+ return false;
+ }
+
+ // Check if there is already a dot, and the pressed key is another dot
+ if (numberParts.length > 1 && charCode == 46) {
+ return false;
+ }
+
+ // Get the caret position in the input field
+ var caratPos = getSelectionStart(el);
+
+ // Get the position of the existing dot
+ var dotPos = el.value.indexOf(".");
+
+ // Check if the caret is after the existing dot, and there are more than 2 digits after the dot
+ if (caratPos > dotPos && dotPos > -1 && (numberParts[1] && numberParts[1].length > 1)) {
+ return false;
+ }
+
+ // If the last digit is not 5 or 0, disallow the input
+ if (numberParts[1] && numberParts[1].length === 1 && !['0', '5'].includes(keypress)) {
+ return false;
+ }
+
+ return true;
+ }
+
function getSelectionStart(o) {
if (o.createTextRange) {
var r = document.selection.createRange().duplicate()