Se rendre au contenu
Menu
Cette question a été signalée

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
Ignorer
Auteur

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));
},
})

Publications associées Réponses Vues Activité
2
juin 25
1230
0
mai 25
12
1
mars 25
791
2
janv. 25
2778
1
déc. 24
6454