Textvalidierungsfunktionen im Jitterbit Design Studio
Diese Funktion stellt für ein Script dieselbe Validierung bereit, die für ein Textdokumentdateiformat definiert werden kann.
Validate
Erklärung
bool Validate(string op, string arg[, boolean ignoreCase])
Syntax
Validate(<op>, <arg>[, <ignoreCase>])
Erforderliche Parameter
op
: Der für die Validierung zu verwendende Vergleichsoperatorarg
: Der mit dem Vergleichsoperator bei der Validierung zu verwendende Wert
Optionale Parameter
ignoreCase
: Ob die Groß-/Kleinschreibung bei der Validierung ignoriert werden soll; Standard,false
Beschreibung
Diese Funktion soll von einem Script aufgerufen werden, das zur Textvalidierung verwendet wird. Sie bietet für dieses Script die gleiche Validierung, die für ein Textdokumentdateiformat definiert werden kann. Normalerweise wird diese Funktion in einem Script aufgerufen, das zur Validierung eines Quelltextdokumentdateiformats verwendet wird. Weitere Informationen finden Sie auf den Seiten zu Dateiformate definieren und Flatfile-Feldvalidierung für weitere Informationen. Beachten Sie, dass die Validierung nur für Quellen funktioniert, nicht für Ziele.
Das Validate()
Die Funktion geht davon aus, dass dem aufrufenden Script diese drei Eingabeargumente bereitgestellt werden, da es diese verwendet, um den zu validierenden Wert zu erhalten:
_1
: Der Eingabewert als Zeichenfolge_2
: Eine Zeichenfolge mit dem Datentyp des Eingabewerts (das Feld „Typ“, wie es im Dateiformat verwendet wird)_3
: Eine Formatzeichenfolge des Eingabewerts (das Feld „Format“, wie es im Dateiformat verwendet wird)
Siehe die ArgumentList
Funktion für weitere Informationen zur Werteübergabe mit _n
-Syntax.
Vergleichsoperatoren und Werte
Abhängig von der Art der Daten, die an das aufgerufene Script übergeben werden, können unterschiedliche Vergleichsoperatoren und Werte verwendet werden. In allen Fällen kann ein regulärer Ausdruck verwendet werden, der der Boost-Bibliothek für reguläre Ausdrücke folgt Syntax. Es ist eine Variation des regulären Perl-Ausdrucks Syntax.
Datumsvergleichswerte
Für Daten können diese Vergleichswerte zusätzlich zu den Daten selbst verwendet werden. Beachten Sie, dass einige Varianten einen ganzzahligen Parameter verwenden, um eine Menge anzugeben.
Vergleichswert | Beschreibung |
---|---|
YESTERDAY | Beginnt am Vortag um 12:00:00 Uhr und dauert 24 Stunden. |
TODAY | Beginnt um 12:00:00 des aktuellen Tages und dauert 24 Stunden. |
TOMORROW | Beginnt 12:00:00 nach dem aktuellen Tag und dauert 24 Stunden. |
LAST_WEEK | Beginnt um 12:00:00 Uhr am ersten Tag der Woche vor dem jüngsten ersten Tag der Woche und dauert sieben volle Tage. Der erste Tag der Woche wird durch das aktuelle Gebietsschema bestimmt. |
THIS_WEEK | Beginnt um 12:00:00 Uhr am letzten ersten Tag der Woche vor dem aktuellen Tag und dauert sieben volle Tage. Der erste Tag der Woche wird von Ihrem Standort bestimmt. |
NEXT_WEEK | Beginnt um 12:00:00 Uhr am letzten ersten Tag der Woche nach dem aktuellen Tag und dauert sieben volle Tage. Der erste Tag der Woche wird von Ihrem Standort bestimmt. |
LAST_MONTH | Beginnt um 12:00:00 Uhr am ersten Tag des Monats vor dem aktuellen Tag und dauert an allen Tagen dieses Monats. |
THIS_MONTH | Beginnt um 12:00:00 Uhr am ersten Tag des Monats, in dem der aktuelle Tag liegt, und dauert an allen Tagen dieses Monats. |
NEXT_MONTH | Beginnt um 12:00:00 Uhr am ersten Tag des Monats nach dem Monat, in dem der aktuelle Tag liegt, und dauert für alle Tage dieses Monats. |
LAST_90_DAYS | Beginnt um 12:00:00 des aktuellen Tages und dauert die letzten 90 Tage. |
NEXT_90_DAYS | Beginnt um 12:00:00 des aktuellen Tages und dauert die nächsten 90 Tage. |
LAST_N_DAYS :n | Beginnt für die angegebene Nummer n um 12:00:00 des aktuellen Tages und dauert die letzten n Tage. |
NEXT_N_DAYS :n | Beginnt für die angegebene Nummer n um 12:00:00 des aktuellen Tages und dauert die nächsten n Tage. |
THIS_QUARTER | Beginnt um 12:00:00 Uhr des aktuellen Quartals und dauert bis zum Ende des aktuellen Quartals. |
LAST_QUARTER | Beginnt um 12:00:00 Uhr des vorherigen Quartals und dauert bis zum Ende dieses Quartals. |
NEXT_QUARTER | Beginnt um 12:00:00 Uhr des nächsten Quartals und dauert bis zum Ende dieses Quartals. |
NEXT_N_QUARTERS :n | Beginnt um 12:00:00 des nächsten Quartals und dauert bis zum Ende des nten Quartals. |
LAST_N_QUARTERS :n | Beginnt um 12:00:00 des vorherigen Quartals und dauert bis zum Ende des vorherigen nten Quartals. |
THIS_YEAR | Beginnt am 1. Januar des laufenden Jahres um 12:00:00 Uhr und dauert bis zum Ende des 31. Dezember des laufenden Jahres. |
LAST_YEAR | Beginnt am 1. Januar des Vorjahres um 12:00:00 Uhr und dauert bis zum Ende des 31. Dezember desselben Jahres. |
NEXT_YEAR | Beginnt am 1. Januar des Folgejahres um 12:00:00 Uhr und dauert bis zum Ende des 31. Dezember desselben Jahres. |
NEXT_N_YEARS :n | Beginnt am 1. Januar des folgenden Jahres um 12:00:00 Uhr und dauert bis zum Ende des 31. Dezember des nten Jahres. |
LAST_N_YEARS :n | Beginnt am 1. Januar des vorherigen Jahres um 12:00:00 Uhr und dauert bis zum Ende des 31. Dezember des vorherigen nten Jahres. |
Beispiele
// This code could be in a script called "FieldValidate"
// It could be called from the Field Validation
// dialog of a date field in a text document file format.
// It would validate that a date is in the current quarter
// but does not occur on a weekend.
// When the script is called, these variables are populated:
// _1(input_string_value), _2(data_type), _3(format)
// and are used by the Validate() function.
d = Date(CVTDate(_1, _3, "yyyy-mm-dd HH:MM:SS"));
dow = DayOfWeek(d);
v = Validate("=", "THIS_QUARTER", false);
// The last line of the script must resolve to a boolean result:
dow!=0 && dow!=6 && v;
Sie können diese Funktion auch in einem Script oder einer Zuordnung verwenden, in dem/der keine Feldvalidierung verfügbar ist oder verwendet wird.
Erstellen Sie zunächst ein Script ("ValidateWrapper"), das die Validate
Funktion, damit die erforderlichen lokalen Variablen gefüllt werden:
<trans>
// This code could be a script called "ValidateWrapper".
// It would be called from another script or mapping.
// Argument List:
// _1 (input_string_value), _2 (data_type), _3 (format)
// _4 (comparison operator), _5 (comparison value), _6 (ignore case)
Validate(_4, _5, _6);
</trans>
Rufen Sie dann das Wrapper Script aus einem anderen Script (oder einem Mapping) auf, um dessen Validate
Funktion:
// This code calls a wrapper script to access the Validate function.
// Wrapper Argument List:
// _1 (input_string_value), _2 (data_type), _3 (format)
// _4 (comparison operator), _5 (comparison value), _6 (ignore case)
// Validation of a Date
a1 = Date(CVTDate("02192018", "mmddyyyy", "yyyy-mm-dd HH:MM:SS"));
a2 = "Date";
a3 = ""; // Format not required if a Date passed
a4 = "=";
a5 = "THIS_QUARTER";
a6 = "true";
resultA = RunScript("<TAG>Scripts/ValidateWrapper</TAG>",
a1, a2, a3, a4, a5, a6);
// Validation of a String Date
b1 = "02192018";
b2 = "Date";
b3 = "mmddyyyy";
b4 = "=";
b5 = "THIS_QUARTER";
b6 = "true";
resultB = RunScript("<TAG>Scripts/ValidateWrapper</TAG>",
b1, b2, b3, b4, b5, b6);
// Validation of an Integer
c1 = 100;
c2 = "Integer";
c3 = "";
c4 = ">";
c5 = 1000;
c6 = "true";
resultC = RunScript("<TAG>Scripts/ValidateWrapper</TAG>",
c1, c2, c3, c4, c5, c6);