验证表单中的响应文本

时间:2017-06-30 01:30:19

标签: google-apps-script

我有一个Google表单,可在此处查看:https://docs.google.com/forms/d/1GT77hzGhGQ9gjgXS3QeiKkU2amL3cChKY__qvqccRak/edit

我正在尝试为几个问题设置多个验证标准。以下是我试图按问题设置的验证标准:

/ PC - Pilot Callsign

  • 包含模式" FCB"
  • 长6或7个字符
  • 最后3个字符必须是数字
  • 如果长度为7个字符,则第4个字符也必须是不是0的数字

/ TM - 时间

  • 4个字符
  • 前两个字符只有00到23之间的整数,包括
  • 前两个字符只有00到59之间的整数,包括

/ TP - 飞机类型

  • 4个字符

/ FL - 航班等级

  • 5个字符
  • 包含模式" FL"
  • 最后3位是数字

/ BT - 阻止时间

  • 至少3个字符
  • 句点是倒数第二个字符
  • 期间之前或期间之后的所有字符必须为数字

我认为我发现文本验证通常是一场斗争。这是关于我有多远:

function pirep() {

var item = "flyCaribbean PIREP"
var form = FormApp.create('New Form');
var textValidation = FormApp.createTextValidation()

  // Urgency
item = "/UA - Urgent"
var choices = ["UA - Routine", "UUA - Urgent"]
form.addMultipleChoiceItem()
    .setTitle(item)
    .setChoiceValues(choices)
    .setRequired(true)  

 // Pilot Callsign
item = "/PC - Pilot Callsign"
form.addTextItem()
    .setTitle(item)
    .setRequired(true);
var textValidation = FormApp.createTextValidation()
    .requireTextContainsPattern("FCB")
item.setHelpText("In the format: 'FCB001' or 'FCB2905'.")
item.setValidation(textValidation) }

我需要帮助开始在应用脚本中进行数据验证,而且我已经陷入困境。

2 个答案:

答案 0 :(得分:1)

您列出的大多数规则都向我看来,可以使用响应验证工具中的正则表达式选项在表单中处理它们。您可以在表单中为每个问题设置响应验证。

如果你还没有看过,那么这里有几个链接可以帮助你入门:

  1. https://support.google.com/docs/answer/3378864?hl=en
  2. https://www.labnol.org/internet/regular-expressions-forms/28380/

答案 1 :(得分:0)

这比我想象的容易得多,它只需要来自表单内部的正则表达式。以下是我用来满足问题中给出的标准的表达式:

/ PC - Pilot Callsign

([F] [C] [B])([0-9] [0-9] [0-9])([0-9] |)

/ TP - 飞机类型

(....)

/ TM - 时间

(([0-1] [0-9])|(2 [0-3]))(([0-5] [0-9]))

/ TP - 航班等级

([F] [L])([0-9] [1-9] [0-9] | [1-9]

/ BT - 阻止时间

(([0-9] | [。])[0-9] [0-9])