diff --git a/resources/assets/js/views/common/items.js b/resources/assets/js/views/common/items.js index e2ecc94ce..90089c1b6 100644 --- a/resources/assets/js/views/common/items.js +++ b/resources/assets/js/views/common/items.js @@ -29,20 +29,44 @@ const app = new Vue({ return { form: new Form('item'), bulk_action: new BulkAction('items'), + regex_condition: [ + '..', + '.,', + ',.', + ',,' + ], } }, watch: { 'form.sale_price': function (newVal, oldVal) { - if (newVal != '' && newVal.search('^(?=.*?[0-9])[0-9.,]+$') == -1) { + if (newVal != '' && newVal.search('^(?=.*?[0-9])[0-9.,]+$') !== 0) { this.form.sale_price = oldVal; + return; + } + + for (let item of this.regex_condition) { + if (this.form.sale_price.includes(item)) { + const removeLastChar = newVal.length - 1 + const inputShown = newVal.slice(0, removeLastChar) + this.form.sale_price = inputShown; + } } }, 'form.purchase_price': function (newVal, oldVal) { - if (newVal != '' && newVal.search('^(?=.*?[0-9])[0-9.,]+$') == -1) { + if (newVal != '' && newVal.search('^(?=.*?[0-9])[0-9.,]+$') !== 0) { this.form.purchase_price = oldVal; + return; } - } - }, + + for (let item of this.regex_condition) { + if (this.form.purchase_price.includes(item)) { + const removeLastChar = newVal.length - 1 + const inputShown = newVal.slice(0, removeLastChar) + this.form.purchase_price = inputShown; + } + } + }, + }, });