javascript - 如果 REGEX 表达式的条件与使用 Google 应用程序脚本输入的单元格不匹配,如何拒绝输入

标签 javascript google-apps-script google-sheets google-sheets-formula google-sheets-macros

所以我使用 Google 应用程序脚本进行了简单的数据验证。唯一的问题是用户仍然可以输入他们喜欢的任何内容(他们只是在单元格的右上角看到红色的无效输入标记,以告知他们输入不正确)。如果输入无效,我如何才能使输入实际上被单元格拒绝?

任何帮助将不胜感激!谢谢!

最佳答案

您需要使用 .setAllowInvalid(false)

function onOpen(e) {
  var range = SpreadsheetApp.getActive().getRange('B2:B');
  var rule = SpreadsheetApp.newDataValidation()
    .requireFormulaSatisfied('=REGEXMATCH(B2,"([#0-9a-fA-F]){7}|green|red|blue|purple|yellow|orange|brown|grey|gray|pink|black|white|lime|cyan")')
    .setAllowInvalid(false) // Set to false to reject input
    .build();
  range.setDataValidation(rule);
}

关于javascript - 如果 REGEX 表达式的条件与使用 Google 应用程序脚本输入的单元格不匹配,如何拒绝输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59193440/

相关文章:

javascript - 谷歌应用程序脚本 : how to copy array of objects to range?

javascript - 序列化元素内的输入(不是表单)

javascript - 如何在 vanilla javascript 中预加载大型 css 和 javascript 文件

google-apps-script - 如何为拥有多个帐户的用户在 Google App Scripts 中选择帐户?

excel - 谷歌表格替代回车

javascript - 如何使用 Google Apps 脚本在电子邮件主题中使用表情符号?

google-apps-script - 谷歌应用程序中withsuccesshandler的理解和应用

javascript - 如何使用 javascript 或任何 JS 库关闭 filePicker 的窗口?

javascript - 更改变量以在 Canvas 上绘图

javascript - YouTube API 归 Google+ 页面授权 Google Apps 脚本所有