2017-06-30 3 views
0

Ich habe ein Google-Formular, hier sichtbar: https://docs.google.com/forms/d/1GT77hzGhGQ9gjgXS3QeiKkU2amL3cChKY__qvqccRak/edit.Validierung Antwort in einem Formular

Ich versuche, mehrere Validierungskriterien für mehrere der Fragen festzulegen. Hier sind die Validierungskriterien Ich versuche, von Frage zu setzen:

/PC - Pilot Rufzeichen

  • enthalten Pattern "FCB"
  • 6 oder 7 Zeichen lang
  • Die letzten 3 Zeichen Zahlen sein müssen
  • Wenn es 7 Zeichen lang ist, muss der vierte Charakter auch eine Zahl sein, die nicht 0
ist

/TM - Zeit

  • 4 Zeichen lang
  • ersten beiden Zeichen nur ganze Zahlen zwischen 00 und 23, inklusive
  • ersten beiden Zeichen nur ganze Zahlen zwischen 00 und 59, inklusive

/TP - Flugzeugtyp

  • 4 Zeichen lang

/FL - Flight Level

  • 5 Zeichen lang
  • Enthält Muster "FL"
  • Die letzten 3 Ziffern sind Zahlen

/BT - Blockzeit

  • Mindestens 3 Zeichen lang
  • Periode ist an zweiter Stelle zum letzten Zeichen
  • Alle Zeichen der Zeit vor oder nach der Periode müssen Zahlen

Ich glaube, ich finde nur den Text Validierung allgemein, um ein Kampf zu sein. Es geht darum, wie weit ich bekam:

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) } 

Ich brauche Hilfe Sie beginnen mit der Datenvalidierung in der Apps-Skript, und ich bin fest.

Antwort

0

Die meisten der Regeln, die Sie aufgelistet haben, sahen für mich so aus, als könnten sie innerhalb des Formulars mit der Option für reguläre Ausdrücke innerhalb des Response-Validierungswerkzeugs behandelt werden. Sie können die Antwortvalidierung innerhalb des Formulars für jede Frage festlegen.

Wenn Sie nicht an, dass ausgesehen haben, sind hier ein paar Links zum Einstieg:

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

Vielen Dank! Gibt es noch einen Weg, dies im Code zu tun? –

+0

Kein Problem. Es gibt wahrscheinlich einen Weg, dies mit Code zu tun, aber ich denke, Sie müssten das gesamte Formular von Grund auf selbst schreiben. Für z.B. In diesem Post versucht das OP, Daten in einem von Grund auf neu geschriebenen Formular zu validieren - https://stackoverflow.com/questions/15302510/form-validation-on-fields-and-fileupload?noredirect=1&lq=1. Hier finden Sie einen Link zur Dokumentation zur Verwendung regulärer Ausdrücke in JavaScript - https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions. Wenn Sie meine Antwort nützlich fanden, würden Sie es begrüßen, wenn Sie es gewählt haben. Ta. – DavidJCC

0

Das war viel einfacher, als ich dachte, und es benötigte nur reguläre Ausdrücke innerhalb des Formulars. Hier sind die Ausdrücke, die ich verwendet, um die Kriterien in der Frage gegeben erfüllen:

/PC - Pilot Rufzeichen

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

/TP - Flugzeugtyp

(....)

/TM - Zeit

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

/TP - Flight Level

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

/BT - Block Time

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