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,这将引发错误。
参考资料
我正在尝试将验证添加到现有的 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,这将引发错误。