Skip to Content
Menu
Dette spørgsmål er blevet anmeldt
3022 Visninger

Does anyone know how to automatically convert Japanese full width number ex. [ 2], be automatically converted into half width number  [ 2 ] when inputted in an integer field?

Right now, full width number will be regarded  as  text  and  show  that  the  field  has  an  invalid  input. What I want is to automatically convert the inputted number and proceed with normal saving process.


Avatar
Kassér
Forfatter

I was able to figure out by extending FieldInteger of basic_fields. If by any chance this could be made better, I would love to hear your suggestions, if any.

FieldInteger.include({
/**
* @override
* @returns {string} the content of the input
*/
_getValue: function () {
return this.$input.val();
},
/**
* Trim the value input by the user.
*
* @override
* @private
* @param {any} value
* @param {Object} [options]
*/
_setValue: function (value, options) {
value = this._convertToHalfWidth(value.trim());
return this._super(value, options);
},
_convertToHalfWidth: function(str) {
return str.replace(/[!-~]/g, r => String.fromCharCode(r.charCodeAt(0) - 0xFEE0));
},
})

Related Posts Besvarelser Visninger Aktivitet
1
jul. 25
2276
2
jul. 25
7751
2
jul. 25
4167
2
jul. 25
3949
1
jul. 25
2967