Google 现有字段的表单应用程序脚本表单验证

Google forms app script form validation of existing field

我正在尝试将验证添加到现有的 Google 表单中。我已经能够识别要添加验证的字段的项目 ID。我只是在我的文本验证中首先执行非常基本的 requireTextContainsPattern 。我试着关注 https://developers.google.com/apps-script/reference/forms/text-validation

 function validationTest() {
    var form = FormApp.openById('formID');
        var item = form.getItemById(itemID);

        var textValidation = FormApp.createTextValidation()
          .setHelpText("Enter email address")
          .requireTextContainsPattern("info@example.com")
          .build();
    
         item.setValidation(textValidation);

当我调试我的代码时,我得到

TypeError: item.setValidation is not a function

我的问题是:1) 如何将此文本验证添加到 Google 表单中的现有字段中? 2)我遇到的错误是否与我的问题有关? 1?但主要是,我想解决不。 1. 提前致谢!

Form.getItemById(id)returnsItem。您需要将引用从 Item 更改为 TextItem。为此,您可以使用方法 asTextItem() (see reference)

function validationTest() {
  var item = form.getItemById(itemID).asTextItem();
  // [...]
}

请注意,如果 itemID 不是文本项的 ID,这将引发错误。

参考资料