网上好像没有 class-validator验证修饰器 的中文翻译,也好像没有官网,只有npm插件介绍里有,但是是英文的。这里我就做回搬运工,并翻译下,好用请点赞
至于使用方法nestjs官网直接cv,不多介绍。
| 修饰器 | 描述(英文) | 描述(中文) |
|---|---|---|
@IsDefined(value: any)
|
Checks if value is defined (!== undefined, !== null). This is the only decorator that ignores skipMissingProperties option. | 检查是否定义了值 (!== undefined, !== null)。这是唯一忽略skipMissingProperties选项的装饰程序 |
@IsOptional()
|
Checks if given value is empty (=== null, === undefined) and if so, ignores all the validators on the property. | 检查给定值是否为空(=== null, === undefined) ,如果是,则忽略属性上的所有验证程序 |
@Equals(comparison: any)
|
Checks if value equals ("===") comparison. | 检查值是否相等(“===”)比较 |
@NotEquals(comparison: any)
|
Checks if value not equal ("!==") comparison. | 检查值是否不相等(“!==”)比较 |
@IsEmpty()
|
Checks if given value is empty (=== ‘’, === null, === undefined). | 检查给定值是否为空(=== ‘’, === null, === undefined) |
@IsNotEmpty()
|
Checks if given value is not empty (!== ‘’, !== null, !== undefined). | 检查给定值是否不为空 (!== ‘’, !== null, !== undefined) |
@IsIn(values: any[])
|
Checks if value is in a array of allowed values. | 检查值是否在允许值的数组中 |
@IsNotIn(values: any[])
|
Checks if value is not in a array of disallowed values. | 检查值是否不在不允许的值数组中 |
| 修饰器 | 描述(英文) | 描述(中文) |
|---|---|---|
@IsBoolean()
|
Checks if a value is a boolean. | 是否为布尔值 |
@IsDate()
|
Checks if the value is a date. | 是否为日期 |
@IsString()
|
Checks if the string is a string. | 是否为字符串 |
@IsNumber(options: IsNumberOptions)
|
Checks if the value is a number. | 是否为数字 |
@IsInt()
|
Checks if the value is an integer number. | 是否为整数 |
@IsArray()
|
Checks if the value is an array | 是否为数组 |
@IsEnum(entity: object)
|
Checks if the value is an valid enum | 是否是有效的枚举 |
| Number validation decorators |
| 修饰器 | 描述(英文) | 描述(中文) |
|---|---|---|
@IsDivisibleBy(num: number)
|
Checks if the value is a number that’s divisible by another. | 是否是可以被另一个数整除的数 |
@IsPositive()
|
Checks if the value is a positive number greater than zero. | 是否是大于0的整数 |
@IsNegative()
|
Checks if the value is a negative number smaller than zero. | 是否是小于0的整数 |
@Min(min: number)
|
Checks if the given number is greater than or equal to given number. | 是否大于等于给定的数 |
@Max(max: number)
|
Checks if the given number is less than or equal to given number. | 是否小于等于给定的数 |
| 修饰器 | 描述(英文) | 描述(中文) |
|---|---|---|
@MinDate(date: Date)
|
Checks if the value is a date that’s after the specified date. | 是否在指定日期之后 |
@MaxDate(date: Date)
|
Checks if the value is a date that’s before the specified date. | 是否在指定日期之前 |
| 修饰器 | 描述(英文) | 描述(中文) |
|---|---|---|
@IsBooleanString()
|
Checks if a string is a boolean (e.g. is “true” or “false”). | 是否为布尔值(例如“true”或“false”) |
@IsDateString()
|
Alias for
@IsISO8601()
.
|
@IsISO8601()的别名 |
@IsNumberString(options?: IsNumericOptions)
|
Checks if a string is a number. | 检查字符串是否为数字 |
| 修饰器 | 描述(英文) | 描述(中文) |
|---|---|---|
@Contains(seed: string)
|
Checks if the string contains the seed. | 是否包含种子 |
@NotContains(seed: string)
|
Checks if the string not contains the seed. | 是否不包含种子 |
@IsAlpha()
|
Checks if the string contains only letters (a-zA-Z). | 是否只包含字母 |
@IsAlphanumeric()
|
Checks if the string contains only letters and numbers. | 是否只包含字母和数字 |
@IsDecimal(options?: IsDecimalOptions)
|
Checks if the string is a valid decimal value. Default IsDecimalOptions are
force_decimal=False
,
decimal_digits: '1,'
,
locale: 'en-US'
|
是否为有效的十进制值。默认的IsDecimalOptions是force_decimal=False,decimal_digits:‘1’,locale:‘en-US’ |
@IsAscii()
|
Checks if the string contains ASCII chars only. | 是否只包含ASCII字符 |
@IsBase32()
|
Checks if a string is base32 encoded. | 是否是base32编码的 |
@IsBase64()
|
Checks if a string is base64 encoded. | 是否是base64编码的 |
@IsIBAN()
|
Checks if a string is a IBAN (International Bank Account Number). | 是否为IBAN(国际银行帐号) |
@IsBIC()
|
Checks if a string is a BIC (Bank Identification Code) or SWIFT code. | 是BIC(银行识别码)还是SWIFT码 |
@IsByteLength(min: number, max?: number)
|
Checks if the string’s length (in bytes) falls in a range. | 长度(以字节为单位)是否在某个范围内 |
@IsCreditCard()
|
Checks if the string is a credit card. | 是否为信用卡 |
@IsCurrency(options?: IsCurrencyOptions)
|
Checks if the string is a valid currency amount. | 是否为有效的货币金额 |
@IsEthereumAddress()
|
Checks if the string is an Ethereum address using basic regex. Does not validate address checksums. | 是否是以太坊地址。不验证地址校验和 |
@IsBtcAddress()
|
Checks if the string is a valid BTC address. | 是否为有效的BTC地址 |
@IsDataURI()
|
Checks if the string is a data uri format. | 是否为数据uri格式 |
@IsEmail(options?: IsEmailOptions)
|
Checks if the string is an email. | 是否为电子邮件 |
@IsFQDN(options?: IsFQDNOptions)
|
Checks if the string is a fully qualified domain name (e.g. domain.com). | 是否是完全限定的域名(例如domain.com) |
@IsFullWidth()
|
Checks if the string contains any full-width chars. | 是否包含任何全角字符 |
@IsHalfWidth()
|
Checks if the string contains any half-width chars. | 是否包含任何半角字符 |
@IsVariableWidth()
|
Checks if the string contains a mixture of full and half-width chars. | 是否包含全半角字符 |
@IsHexColor()
|
Checks if the string is a hexadecimal color. | 是否为十六进制颜色 |
@IsHSLColor()
|
Checks if the string is an HSL color based on CSS Colors Level 4 specification . | 是否是基于CSS Colors Level 4规范的HSL颜色 |
@IsRgbColor(options?: IsRgbOptions)
|
Checks if the string is a rgb or rgba color. | 是rgb还是rgba颜色 |
@IsIdentityCard(locale?: string)
|
Checks if the string is a valid identity card code. | 是否是有效的身份证代码(估计是国外的身份证格式) |
@IsPassportNumber(countryCode?: string)
|
Checks if the string is a valid passport number relative to a specific country code. | 是否是相对于特定国家代码的有效护照号码 |
@IsPostalCode(locale?: string)
|
Checks if the string is a postal code. | 是否是邮政编码 |
@IsHexadecimal()
|
Checks if the string is a hexadecimal number. | 是否为十六进制数 |
@IsOctal()
|
Checks if the string is a octal number. | 是否为八进制数 |
@IsMACAddress(options?: IsMACAddressOptions)
|
Checks if the string is a MAC Address. | 是否为MAC地址 |
@IsIP(version?: "4"\|"6")
|
Checks if the string is an IP (version 4 or 6). | 是否为IP(版本4或6) |
@IsPort()
|
Checks if the string is a valid port number. | 是否为有效的端口号 |
@IsISBN(version?: "10"\|"13")
|
Checks if the string is an ISBN (version 10 or 13). | 是否为ISBN(版本10或13) |
@IsEAN()
|
Checks if the string is an if the string is an EAN (European Article Number). | 是否为EAN(欧洲商品编号) |
@IsISIN()
|
Checks if the string is an ISIN (stock/security identifier). | 是否为ISIN(股票/安全标识符) |
@IsISO8601(options?: IsISO8601Options)
|
Checks if the string is a valid ISO 8601 date format. Use the option strict = true for additional checks for a valid date. | 是否为有效的ISO 8601日期格式。对于有效日期的其他检查,请使用选项strict=true。 |
@IsJSON()
|
Checks if the string is valid JSON. | 是否为有效的JSON |
@IsJWT()
|
Checks if the string is valid JWT. | 是否为有效的JWT |
@IsObject()
|
Checks if the object is valid Object (null, functions, arrays will return false). | 是否为有效对象(null、函数、数组将返回false) |
@IsNotEmptyObject()
|
Checks if the object is not empty. | 对象是否为空 |
@IsLowercase()
|
Checks if the string is lowercase. | 是否为小写 |
@IsLatLong()
|
Checks if the string is a valid latitude-longitude coordinate in the format lat, long. | 是否为lat,long格式的有效经纬度坐标 |
@IsLatitude()
|
Checks if the string or number is a valid latitude coordinate. | 检查字符串或数字是否是有效的纬度坐标 |
@IsLongitude()
|
Checks if the string or number is a valid longitude coordinate. | 检查字符串或数字是否为有效的经度坐标 |
@IsMobilePhone(locale: string)
|
Checks if the string is a mobile phone number. | 是否是移动电话号码 |
@IsISO31661Alpha2()
|
Checks if the string is a valid ISO 3166-1 alpha-2 officially assigned country code. | 是否是有效的iso3166-1alpha-2官方指定的国家代码。 |
@IsISO31661Alpha3()
|
Checks if the string is a valid ISO 3166-1 alpha-3 officially assigned country code. | 是否是有效的iso3166-1alpha-3官方指定的国家代码。 |
@IsLocale()
|
Checks if the string is a locale. | 是否为区域设置 |
@IsPhoneNumber(region: string)
|
Checks if the string is a valid phone numberusing libphonenumber-js. | 是否是有效的电话号码 |
@IsMongoId()
|
Checks if the string is a valid hex-encoded representation of a MongoDB ObjectId. | 是否是MongoDB ObjectId的有效十六进制编码表示形式 |
@IsMultibyte()
|
Checks if the string contains one or more multibyte chars. | 是否包含一个或多个多字节字符 |
@IsNumberString(options?: IsNumericOptions)
|
Checks if the string is numeric. | 是否包含任何代理项对字符 |
@IsSurrogatePair()
|
Checks if the string contains any surrogate pairs chars. | 是否包含任何代理项对字符 |
@IsUrl(options?: IsURLOptions)
|
Checks if the string is an url. | 是否为url |
@IsMagnetURI()
|
Checks if the string is a magnet uri format . | 是否为magneturi格式 |
@IsUUID(version?: "3"\|"4"\|"5"\|"all")
|
Checks if the string is a UUID (version 3, 4, 5 or all ). | 是否是UUID(version 3、4、5或all) |
@IsFirebasePushId()
|
Checks if the string is a Firebase Push ID | 是否为Firebase Push ID |
@IsUppercase()
|
Checks if the string is uppercase. | 是否为大写 |
@Length(min: number, max?: number)
|
Checks if the string’s length falls in a range. | 符串的长度是否在某个范围内 |
@MinLength(min: number)
|
Checks if the string’s length is not less than given number. | 字符串的长度是否不小于给定的数字 |
@MaxLength(max: number)
|
Checks if the string’s length is not more than given number. | 字符串的长度是否不大于给定的数字 |
@Matches(pattern: RegExp, modifiers?: string)
|
Checks if string matches the pattern. Either matches(‘foo’, /foo/i) or matches(‘foo’, ‘foo’, ‘i’). | 是否与模式匹配,匹配(‘foo’,/foo/i)或匹配(‘foo’,‘foo’,‘i’) |
@IsMilitaryTime()
|
Checks if the string is a valid representation of military time in the format HH:MM. | 是否是HH:MM格式的有效军事时间表示形式 |
@IsHash(algorithm: string)
|
Checks if the string is a hash The following types are supported:
md4
,
md5
,
sha1
,
sha256
,
sha384
,
sha512
,
ripemd128
,
ripemd160
,
tiger128
,
tiger160
,
tiger192
,
crc32
,
crc32b
.
|
是否是散列,以下类型是supported:md4、md5、sha1、sha256、sha384、sha512、ripemd128、ripemd160、tiger128、tiger128、tiger192、crc32、crc32b。 |
@IsMimeType()
|
Checks if the string matches to a valid MIME type format | 是否与有效的MIME类型格式匹配 |
@IsSemVer()
|
Checks if the string is a Semantic Versioning Specification (SemVer). | 是否为语义版本控制规范(SemVer) |
@IsISSN(options?: IsISSNOptions)
|
Checks if the string is a ISSN. | 是否为ISSN |
@IsISRC()
|
Checks if the string is a ISRC . | 是否为ISRC |
@IsRFC3339()
|
Checks if the string is a valid RFC 3339 date. | 是否为有效的RFC 3339日期 |
| 修饰器 | 描述(英文) | 描述(中文) |
|---|---|---|
@ArrayContains(values: any[])
|
Checks if array contains all values from the given array of values. | 是否包含给定值数组中的所有值 |
@ArrayNotContains(values: any[])
|
Checks if array does not contain any of the given values. | 是否不包含任何给定值 |
@ArrayNotEmpty()
|
Checks if given array is not empty. | 是否为空 |
@ArrayMinSize(min: number)
|
Checks if the array’s length is greater than or equal to the specified number. | 数组的长度是否大于或等于指定的数字 |
@ArrayMaxSize(max: number)
|
Checks if the array’s length is less or equal to the specified number. | 数组的长度是否小于或等于指定的数字 |
@ArrayUnique(identifier?: (o) => any)
|
Checks if all array’s values are unique. Comparison for objects is reference-based. Optional function can be speciefied which return value will be used for the comparsion. | 所有数组的值是否唯一。对象的比较是基于引用的。可选函数可以指定用于比较的返回值 |
| 修饰器 | 描述(英文) | 描述(中文) |
|---|---|---|
@IsInstance(value: any)
|
Checks if the property is an instance of the passed value. | 属性是否是传递值的实例 |
| 修饰器 | 描述(英文) | 描述(中文) |
|---|---|---|
@Allow()
|
Prevent stripping off the property when no other constraint is specified for it. | 防止在没有为属性指定其他约束时剥离该属性 |