範囲値として22桁以上の値を設定すると、検証が機能しなくなる
対象製品
SpreadJS 9J
発生環境
9.20161.0
状況
修正済み
詳細
数値の検証で最大値や最小値に22桁以上の値を設定すると、検証が機能しなくなる現象が発生します。
【再現方法】
1.下記の再現コードを実行します
2.セルB2に"10"と入力します
【動作結果】
検証エラーが発生します(正常時の動作として、セルB2には-1E+21〜1E+21の範囲で値の入力が可能です)。
【再現コード】
window.onload = function(){
var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
var sheet = spread.getActiveSheet();
var GCNS = GC.Spread.Sheets;
//検証設定
spread.options.highlightInvalidData = true;
var minValue = -1000000000000000000000;
var maxValue = 1000000000000000000000;
var dvCondition = GCNS.ConditionalFormatting.ComparisonOperators.between;
var dv = GCNS.DataValidation.createNumberValidator(dvCondition, minValue, maxValue, true);
dv.errorStyle = GC.Spread.Sheets.DataValidation.ErrorStyle.stop;
dv.showInputMessage(false);
//B2セルに検証を設定
sheet.setDataValidator(1, 1, dv);
};
【再現方法】
1.下記の再現コードを実行します
2.セルB2に"10"と入力します
【動作結果】
検証エラーが発生します(正常時の動作として、セルB2には-1E+21〜1E+21の範囲で値の入力が可能です)。
【再現コード】
window.onload = function(){
var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
var sheet = spread.getActiveSheet();
var GCNS = GC.Spread.Sheets;
//検証設定
spread.options.highlightInvalidData = true;
var minValue = -1000000000000000000000;
var maxValue = 1000000000000000000000;
var dvCondition = GCNS.ConditionalFormatting.ComparisonOperators.between;
var dv = GCNS.DataValidation.createNumberValidator(dvCondition, minValue, maxValue, true);
dv.errorStyle = GC.Spread.Sheets.DataValidation.ErrorStyle.stop;
dv.showInputMessage(false);
//B2セルに検証を設定
sheet.setDataValidator(1, 1, dv);
};
回避方法
SpreadJS 9J SP2(Ver.9.20171.0)で修正済み