Create regex controller to format input without double . and ,
This commit is contained in:
BIN
resources/assets/js/views/.DS_Store
vendored
Normal file
BIN
resources/assets/js/views/.DS_Store
vendored
Normal file
Binary file not shown.
53
resources/assets/js/views/common/items.js
vendored
53
resources/assets/js/views/common/items.js
vendored
@ -4,21 +4,21 @@
|
|||||||
* building robust, powerful web applications using Vue and Laravel.
|
* building robust, powerful web applications using Vue and Laravel.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require('./../../bootstrap');
|
require('./../../bootstrap');
|
||||||
|
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
|
|
||||||
import DashboardPlugin from './../../plugins/dashboard-plugin';
|
import DashboardPlugin from './../../plugins/dashboard-plugin';
|
||||||
|
|
||||||
import Global from './../../mixins/global';
|
import Global from './../../mixins/global';
|
||||||
|
|
||||||
import Form from './../../plugins/form';
|
import Form from './../../plugins/form';
|
||||||
import BulkAction from './../../plugins/bulk-action';
|
import BulkAction from './../../plugins/bulk-action';
|
||||||
|
|
||||||
// plugin setup
|
// plugin setup
|
||||||
Vue.use(DashboardPlugin);
|
Vue.use(DashboardPlugin);
|
||||||
|
|
||||||
const app = new Vue({
|
const app = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
|
|
||||||
mixins: [
|
mixins: [
|
||||||
@ -29,15 +29,32 @@ const app = new Vue({
|
|||||||
return {
|
return {
|
||||||
form: new Form('item'),
|
form: new Form('item'),
|
||||||
bulk_action: new BulkAction('items'),
|
bulk_action: new BulkAction('items'),
|
||||||
|
regex_condition: [
|
||||||
|
'..',
|
||||||
|
'.,',
|
||||||
|
',.',
|
||||||
|
',,'
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
watch: {
|
watch: {
|
||||||
'form.sale_price': function (newVal, oldVal) {
|
'form.sale_price': function (newVal, oldVal) {
|
||||||
if (newVal != '' && newVal.search('^(?=.*?[0-9])[0-9.,]+$') === -1) {
|
if (newVal != '' && newVal.search('^(?=.*?[0-9])[0-9.,]+$') == -1) {
|
||||||
if(newVal.search('(?<!.).(?!.)') === -1){
|
|
||||||
this.form.sale_price = oldVal;
|
this.form.sale_price = oldVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let splice_value;
|
||||||
|
|
||||||
|
if (newVal.search('^(?=.*?[0-9])[0-9.,]+$') == 0) {
|
||||||
|
for (let item of this.regex_condition) {
|
||||||
|
if (this.form.sale_price.includes(item)) {
|
||||||
|
splice_value = this.form.sale_price.replace(item, '');
|
||||||
|
this.form.sale_price = splice_value;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -45,6 +62,18 @@ const app = new Vue({
|
|||||||
if (newVal != '' && newVal.search('^(?=.*?[0-9])[0-9.,]+$') == -1) {
|
if (newVal != '' && newVal.search('^(?=.*?[0-9])[0-9.,]+$') == -1) {
|
||||||
this.form.purchase_price = oldVal;
|
this.form.purchase_price = oldVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let splice_value;
|
||||||
|
|
||||||
|
if (newVal.search('^(?=.*?[0-9])[0-9.,]+$') == 0) {
|
||||||
|
for (let item of this.regex_condition) {
|
||||||
|
if (this.form.purchase_price.includes(item)) {
|
||||||
|
splice_value = this.form.purchase_price.replace(item, '');
|
||||||
|
this.form.purchase_price = splice_value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
Reference in New Issue
Block a user