class-validator-extended - v4.2.0
    Preparing search index...

    class-validator-extended - v4.2.0

    Typescript npm GitHub Workflow Status GitHub Issues libraries.io Codecov npm bundle size

    class-validator-extended

    Additional validators for class-validator.

    Use your favorite package manager to install:

    npm install class-validator-extended
    

    For obvious reasons, class-validator needs to be installed.

    Just use the decorators like any of the built-in ones:

    import { ArrayMinSize } from 'class-validator'
    import { ArrayMonotonic } from 'class-validator-extended'

    class Foo {
    @ArrayMinSize(2)
    @ArrayMonotonic()
    values: [1, 13, 42]
    }

    If you don't have Dayjs installed you need to use the minimal export:

    import { MaxBigInt } from 'class-validator-extended/dist/minimal'
    

    Please note that Dayjs is an optional dependency and will by default be installed by npm and yarn. To avoid this use npm install --omit optional or yarn install --ignore-optional, respectively.

    For detailed information please read the API docs.

    Decorator Description API
    Type
    @IsBigInt(options?) Checks if the given value is a BigInt. 🔗
    @IsDayjs(options?) Checks if the given value is a valid Dayjs object. 🔗
    @IsDuration(options?) Checks if the given value is a valid Dayjs duration. 🔗
    @IsNull(options?) Checks if the given value is null. 🔗
    @IsMap(options?) Checks if the given value is a Map. 🔗
    @IsSet(options?) Checks if the given value is a Set. 🔗
    Common
    @Nullable(options?) Only validates the given value if it is not null. 🔗
    @Optional(options?) Only validates the given value if it is not undefined. 🔗
    Array
    @ArrayMonotonic(options?) Checks if the given value is an array sorted in either (strictly) ascending or (strictly) descending order. 🔗
    @ArraySize(size, options?) Checks if the given value is an array with exactly size elements. 🔗
    BigInt
    @MaxBigInt(maximum, options?) Checks if the given value is a BigInt not greater than maximum. 🔗
    @MinBigInt(minimum, options?) Checks if the given value is a BigInt not less than minimum. 🔗
    @NegativeBigInt(options?) Checks if the given value is a BigInt less than zero. 🔗
    @PositiveBigInt(options?) Checks if the given value is a BigInt greater than zero. 🔗
    Date
    @FutureDate(options?) Checks if the given value is a Date object in the future. 🔗
    @PastDate(options?) Checks if the given value is a Date object in the past. 🔗
    Dayjs
    @FutureDayjs(options?) Checks if the given value is a valid Dayjs object in the future. 🔗
    @MaxDayjs(maximum, options?) Checks if the given value is a valid Dayjs object not later than maximum. 🔗
    @MaxDuration(minimum, options?) Checks if the given value is a valid Dayjs duration not longer than maximum. 🔗
    @MinDayjs(minimum, options?) Checks if the given value is a valid Dayjs object not earlier than minimum. 🔗
    @MinDuration(minimum, options?) Checks if the given value is a valid Dayjs duration not shorter than minimum. 🔗
    @PastDayjs(options?) Checks if the given value is a valid Dayjs object in the past. 🔗
    Map
    @MapContains(required, options?) Checks if the given value is a Map and contains all required values. 🔗
    @MapContainsKeys(required, options?) Checks if the given value is a Map and contains all required keys. 🔗
    @MapMaxSize(maximum, options?) Checks if the given value is a Map with no more than maximum entries. 🔗
    @MapMinSize(minimum, options?) Checks if the given value is a Map with no fewer than minimum entries. 🔗
    @MapNotContains(forbidden, options?) Checks if the given value is a Map which does not contain any of the forbidden values. 🔗
    @MapNotContainsKeys(forbidden, options?) Checks if the given value is a Map which does not contain any of the forbidden keys. 🔗
    @MapNotEmpty(options?) Checks if the given value is a Map with at least one entry. 🔗
    @MapSize(size, options?) Checks if the given value is a Map with exactly size entries. 🔗
    @MapUnique(projection, options?) Checks if the given value is a Map without duplicates with regard to the given projection. 🔗
    @MapUniqueKeys(projection, options?) Checks if the given value is a Map whose keys are all unique with regard to the given projection. 🔗
    Number
    @IsNetworkPort(options?) Checks if the given value is a valid port number. 🔗
    Set
    @SetContains(required, options?) Checks if the given value is a Set and contains all required values. 🔗
    @SetMaxSize(maximum, options?) Checks if the given value is a Set with no more than maximum values. 🔗
    @SetMinSize(minimum, options?) Checks if the given value is a Set with no fewer than minimum values. 🔗
    @SetNotContains(forbidden, options?) Checks if the given value is a Set which does not contain any of the forbidden values. 🔗
    @SetSize(size, options?) Checks if the given value is a Set with exactly size entries. 🔗
    @SetNotEmpty(options?) Checks if the given value is a Set with at least one value. 🔗
    @SetUnique(projection, options?) Checks if the given value is a Set without duplicate values with regard to the given projection. 🔗
    String
    @IsAwsRegion(options?) Checks if the given value is an AWS region string. deprecated 🔗
    @IsAwsARN(options?) Checks if the given value is an AWS ARN string. deprecated 🔗
    @NotMatches(pattern, modifiers?, options?) Checks if the given value is an string that does not match the given regular expression. 🔗