javascript - 复选框违反数据验证规则

标签 javascript validation google-apps-script google-sheets

我使用应用程序脚本生成了多个复选框(全部未选中),所有这些都具有相同的代码,但单击其中一些时会弹出一个窗口,提示它们违反了数据验证规则(并且它们仍未选中)。我手动检查(在数据验证菜单中),它们都有相同的规则,如果我删除规则,则没有任何变化。

var enforceCheckbox = SpreadsheetApp.newDataValidation(); enforceCheckbox.requireCheckbox(); enforceCheckbox.setAllowInvalid(false); enforceCheckbox.build(); checkboxRange.setDataValidation(enforceCheckbox);

在我的脚本中,它们的所有值都是使用 onEdit 事件检查的,但由于我什至无法编辑它们的值,我怀疑这是否相关。

最佳答案

原来问题是受影响的单元格被格式化为纯文本。将格式设置为自动解决了这个问题。

感谢@Cooper我发现了通过代码添加复选框的简单方法,遗憾的是这似乎没有在应用程序脚本引用页面上得到很好的记录。

对于遇到此问题的其他初学者,您可以使用以下方法添加复选框:

  range.insertCheckboxes();
  range.insertCheckboxes(checkedValue);
  range.insertCheckboxes(checkedValue, uncheckedValue);

您可以删除复选框:

  range.removeCheckboxes();

关于javascript - 复选框违反数据验证规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54963517/

相关文章:

javascript - 使用 javascript 将 Web 表单值传递给 python 脚本

javascript - 使用 jqueryvalidation require_from_group 方法进行多重 select2 验证

html - 如何居中使用 BootstrapValidate 创建的错误消息?

java - Java中如何处理扫描仪异常?

google-apps-script - 来自库的电子表格打开菜单

javascript - 在 Javascript 中迭代多个数组而不使用索引

javascript - 如何使用 jsmediatags 从 mp3 获取专辑封面

javascript - 如何创建带有左侧标签和样式的复选框

javascript - 可扩展的Node.js应用程序体系结构

google-apps-script - Drive.Files.remove(fileId) 删除项目但返回错误消息