Skip to content

isValidX12DateRange

  • Container free time, demurrage, billing deadlines, bill of lading dates and EDI timestamps.
isValidX12DateRange(value: string, format: X12DateRangeFormat): boolean

Return true when value is an X12 Date Time Period value (data element 1251) that states a range between two real calendar dates, in a date range format qualifier (data element 1250).

  • CodeMaskThe dictionary’s definition
    RD8CCYYMMDD-CCYYMMDD“Range of Dates Expressed in Format CCYYMMDD-CCYYMMDD”
    RDMMDDCCYY-MMDDCCYY“Range of Dates Expressed in Format MMDDCCYY-MMDDCCYY”
  • True exactly when parseX12DateRange returns a range for the same arguments: the validator calls the parser, so the two cannot disagree.

  • A range is valid with exactly one hyphen: "2024061520240620" is false.

  • A range whose end precedes its start is false; an end equal to its start is true.

  • Checks the calendar as well as the shape: 29 February 2023 in either date is false.

  • False for any other code, a code of another kind included; check a code alone with isValidX12DateTimePeriodFormat. False for a non-string argument.

ParameterTypeDescription
valuestringThe data element 1251 value (e.g. “20240615-20240620”)
formatX12DateRangeFormatX12 data element 1250 format qualifier

boolean indicating validity

import { isValidX12DateRange } from "@northguild/gmt/intermodal/validate";
isValidX12DateRange("20240615-20240620", "RD8") // true
output 

intermodal/validate/isValidX12DateRange.ts