SpreadJSの領域外をクリックした場合にValidationErrorイベントが二回実行される

文書番号 : 41335     文書種別 : 不具合     登録日 : 2017/09/15     最終更新日 : 2017/09/15
文書を印刷する
対象製品
SpreadJS 9J
発生環境
9.20171.0
状況
現象確認済み
詳細
検証エラー機能を有効にし、セルに検証エラーとなるような値を入力のうえSpreadJSの領域外をクリックすると、ValidationErrorイベントが二回実行される現象が発生します。

【再現手順】
1.以下の再現コードを実行します
2.A1セルに"1"を入力します
3.ウィンドウ内のSpreadJS領域以外をクリックします

【動作結果】
ValidationErrorイベントの処理によってアラートウィンドウが表示されますが、このウィンドウでOKボタンを押下しても再度アラートウィンドウが表示される現象が発生します(ValidationErrorイベントが二回実行される)。

【再現コード】
var GCDV = GC.Spread.Sheets.DataValidation;
window.onload = function() {
  //初期化
  var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
  var sheet = spread.getActiveSheet();

  // 描画処理を一時停止します
  sheet.suspendPaint();

  sheet.setValue(0, 0, 120);

  //バリデータを設定します
  var condition = GC.Spread.Sheets.ConditionalFormatting.ComparisonOperators.between;
  var dv = GCDV.createNumberValidator(condition, 100, 200, true);
  dv.errorMessage("数値は100~200の間で入力して下さい。");
  sheet.setDataValidator(0, 0, dv);
 
  // 描画処理を再開します
  sheet.resumePaint();

  //入力エラー発生時にメッセージを表示させます
  spread.bind(GC.Spread.Sheets.Events.ValidationError, function (event, data) {
if (data.validator) {
  alert(data.validator.errorMessage());
  data.validationResult = GCDV.DataValidationResult.retry;
}
  });
};