我正在尝试为我的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
答案 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);
};
}