如何通过脚本向现有的Google表单项添加验证?

时间:2017-10-30 06:48:28

标签: javascript google-apps-script google-form

我正在尝试为我的Google表单文本项添加验证,特别是文本验证。

但是,我认为'setValidation()'功能仅适用于TextItem等已知类型的项目。

据我了解,如果我通过'getItemById()'提取表单项,我会得到一个通用项。它仍然有' TEXT'类型但谷歌脚本只是没有看到它作为TextItem,因此'setValidation()'功能不适用于它。

我尝试过像.asTextItem()那样没有运气的事情。这是一个由于错误而无法运行的示例脚本

  

' TypeError:在对象Item中找不到函数setValidation。 (线   10,文件"代码")'在第9行。

function validationTest() {
var form = FormApp.getActiveForm();
  var items = form.getItems();
  var textValidation = FormApp.createTextValidation()
    .requireNumberGreaterThanOrEqualTo(0)
    .requireWholeNumber();
  for (var i = 0; i<items.length; i++) {
    items[i].asTextItem();
    items[i].setValidation(textValidation);
  };
}

那么,这个问题是否有已知的解决方案或解决方法?提前谢谢。

SC

1 个答案:

答案 0 :(得分:0)

您应该在验证构建器的末尾添加.build(),因为它显示为here

此外,asTextItem应与setValidation同时调用:

function validationTest() {
var form = FormApp.getActiveForm();
  var items = form.getItems();
  var textValidation = FormApp.createTextValidation()
    .requireNumberGreaterThanOrEqualTo(0)
    .requireWholeNumber()
    .build();
  for (var i = 0; i<items.length; i++) {
    items[i].asTextItem().setValidation(textValidation);
  };
}