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. 🔗
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4