UNPKG

@dwp/govuk-casa

Version:

A framework for building GOVUK Collect-And-Submit-Applications

88 lines (87 loc) 2.82 kB
/** * @typedef {import("../../casa").ErrorMessageConfig} ErrorMessageConfig * @access private */ /** * @typedef {object} DateObjectConfigOptions * @property {ErrorMessageConfig} errorMsg Error message config * @property {object} [afterOffsetFromNow] Offset from now * @property {ErrorMessageConfig} [errorMsgAfterOffset] Error if date is after * this offset * @property {object} [beforeOffsetFromNow] Offset from now * @property {ErrorMessageConfig} [errorMsgBeforeOffset] Error if date is before * this offset * @property {boolean} [allowMonthNames=false] Allow "Jan", "January", etc. * Default is `false` * @property {boolean} [allowSingleDigitDay=false] Allow "1" rather than "01". * Default is `false` * @property {boolean} [allowSingleDigitMonth=false] Allow "1" rather than "01". * Default is `false` * @property {DateTime} [now=false] Override the notion of "now" (useful for * testing). Default is `false` */ /** * Date object format: { dd: <string>, mm: <string>, yyyy: <string> }. * * Note that the time part will be zero'ed, as we are only interested in the * date component (minimum day resolution). * * See {@link DateObjectConfigOptions} for `make()` options. * * @memberof Validators * @augments ValidatorFactory */ export default class DateObject extends ValidatorFactory { /** @property {string} name Validator name ("dateObject") */ name: string; validate(value: any, dataContext?: {}): ValidationError[]; sanitise(value: any): any; } export type ErrorMessageConfig = import("../../casa").ErrorMessageConfig; export type DateObjectConfigOptions = { /** * Error message config */ errorMsg: ErrorMessageConfig; /** * Offset from now */ afterOffsetFromNow?: object | undefined; /** * Error if date is after * this offset */ errorMsgAfterOffset?: import("../../casa").ErrorMessageConfig | undefined; /** * Offset from now */ beforeOffsetFromNow?: object | undefined; /** * Error if date is before * this offset */ errorMsgBeforeOffset?: import("../../casa").ErrorMessageConfig | undefined; /** * Allow "Jan", "January", etc. * Default is `false` */ allowMonthNames?: boolean | undefined; /** * Allow "1" rather than "01". * Default is `false` */ allowSingleDigitDay?: boolean | undefined; /** * Allow "1" rather than "01". * Default is `false` */ allowSingleDigitMonth?: boolean | undefined; /** * Override the notion of "now" (useful for * testing). Default is `false` */ now?: DateTime<boolean> | undefined; }; import ValidatorFactory from "../ValidatorFactory.js"; import ValidationError from "../ValidationError.js"; import { DateTime } from "luxon";