0

I have problem with quantity increments, unable to increase the quantity for a product in the cart by increasing the quantity number in the input field, the input field for quantity does not seem to accept values like 1,2,3,4,5 rather accepts it as 02,03,04,05
If I try to increase quantity, normal number does not work need to add a zero in-front of the number as mandatory this happens only for numbers below 10.

Notice: Quantity input field = 1,2,3,4..10 (value is NOT getting accepted/validated and goes back to default value (1 in my case)), However if u enter the value as 01,02,03,04....10(Value is accepted/Validate).

Some images of what my problem is: ImageOne (normal way of adding input in quantity field to update doesn't work): enter image description here

ImageTwo (they way it actually works and the way that it actually accepts inputs for update): How it actually works I tried tweaking validation.js to no avail.

my validation.js code is: The main methods used inside are :

isEmptyNoTrim: function (value) {
            return value === '' || value == null || value.length === 0;
        },

and the other one is :

parseNumber: function (value) {
            var isDot, isComa;

            if (typeof value !== 'string') {
                return parseFloat(value);
            }
            isDot = value.indexOf('.');
            isComa = value.indexOf(',');

            if (isDot !== -1 && isComa !== -1) {
                if (isComa > isDot) {
                    value = value.replace('.', '').replace(',', '.');
                } else {
                    value = value.replace(',', '');
                }
            } else if (isComa !== -1) {
                value = value.replace(',', '.');
            }

            return parseFloat(value);
        },

The pieces of code using that property to validate the quantity field is :

'validate-not-negative-number': [
    function (v) {
        if ($.mage.isEmptyNoTrim(v)) {
            return true;
        }
        v = $.mage.parseNumber(v);

        return !isNaN(v) && v >= 0;

    },
    $.mage.__('Please enter a number 0 or greater in this field.')
],
// validate-not-negative-number should be replaced in all places with this one and then removed
'validate-zero-or-greater': [
    function (v) {
        if ($.mage.isEmptyNoTrim(v)) {
            return true;
        }
        v = $.mage.parseNumber(v);

        return !isNaN(v) && v >= 0;

    },
    $.mage.__('Please enter a number 0 or greater in this field.')
],
'validate-greater-than-zero': [
    function (v) {
        if ($.mage.isEmptyNoTrim(v)) {
            return true;
        }
        v = $.mage.parseNumber(v);

        return !isNaN(v) && v > 0;
    },
    $.mage.__('Please enter a number greater than 0 in this field.')
], 
'validate-number': [
    function (v) {
        return $.mage.isEmptyNoTrim(v) || !isNaN($.mage.parseNumber(v)) && /^\s*-?\d*(\.\d*)?\s*$/.test(v);
    },
    $.mage.__('Please enter a valid number in this field.')
],

You can check the website here :My website link

  • any help with this i haven't found a workaround for this problem... – devaraj arasu t s Jan 18 at 7:12

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.