javascriptのライブラリ「handsontable」を使用しています。
https://handsontable.com/
ユーザーが数値入力用のセル(validator:/^[0-9]+$/)に全角数字を入力したとき、バリデーション前に半角に直したいと思っています。
beforeValidate, beforeChange などがあるようなので、試してみましたが上記のように動作しません。
値を半角に変更し、バリデーションエラーにしない方法はあるのでしょうか。
以下、試した内容です。
- beforeValidateを試したコード(セルの値が変わらず、バリデーションエラーになる)
beforeValidate:(val, row, prop, source) => { if (source == 'custom.beforeValidate') return; var conv = new MyConverter(val); table.setDataAtCell(0, 0, conv.toHankakuString(), 'custom.beforeValidate'); }
- beforeChangeを試したコード(セルの値は変わるがバリデーションエラーになる)
beforeChange:(changes, source) => { $.each(changes, (idx, chg)=>{ var conv = new MyConvert(chg[3]); chg[3] = conv.toHankakuString(); }); },
初歩的なことかもしれませんが、よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー