Zum Inhalt springen

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 Vergleichsoperator
  • arg: 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);