validators-impl.d.ts 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. import { CustomValidator, ErrorMessage, FieldMessageFactory } from '../base';
  2. import { ContextBuilder } from '../context-builder';
  3. import * as Options from '../options';
  4. import { ExistsOptions, Validators } from './validators';
  5. export declare class ValidatorsImpl<Chain> implements Validators<Chain> {
  6. private readonly builder;
  7. private readonly chain;
  8. private lastValidator;
  9. private negateNext;
  10. constructor(builder: ContextBuilder, chain: Chain);
  11. private addItem;
  12. not(): Chain;
  13. withMessage(message: FieldMessageFactory | ErrorMessage): Chain;
  14. custom(validator: CustomValidator): Chain;
  15. exists(options?: ExistsOptions): Chain;
  16. isArray(options?: {
  17. min?: number;
  18. max?: number;
  19. }): Chain;
  20. isObject(options?: {
  21. strict?: boolean;
  22. }): Chain;
  23. isString(): Chain;
  24. notEmpty(options?: Options.IsEmptyOptions): Chain;
  25. private addStandardValidation;
  26. contains(elem: any, options?: Options.ContainsOptions): Chain;
  27. equals(comparison: string): Chain;
  28. isAbaRouting(): Chain;
  29. isAfter(dateOrOptions?: string | Options.IsAfterOptions): Chain;
  30. isAlpha(locale?: Options.AlphaLocale, options?: Options.IsAlphaOptions): Chain;
  31. isAlphanumeric(locale?: Options.AlphanumericLocale, options?: Options.IsAlphanumericOptions): Chain;
  32. isAscii(): Chain;
  33. isBase32(options?: Options.IsBase32Options): Chain;
  34. isBase58(): Chain;
  35. isBase64(options?: Options.IsBase64Options): Chain;
  36. isBefore(date?: string): Chain;
  37. isBIC(): Chain;
  38. /**
  39. * There are basically three levels of strictness for this validator.
  40. * Passing `{ strict: true }` as option only passes the validation if the value is a JS bool. (It also overrides the loose property of the options).
  41. * Passing `{ loose: true|false }` along with no `strict` prop of with `strict` falsy follows the behaviour specified in validator.js docs.
  42. */
  43. isBoolean(options?: Options.IsBooleanOptions): Chain;
  44. isBtcAddress(): Chain;
  45. isByteLength(options: Options.MinMaxOptions): Chain;
  46. isCreditCard(): Chain;
  47. isCurrency(options?: Options.IsCurrencyOptions): Chain;
  48. isDataURI(): Chain;
  49. isDate(options?: Options.IsDateOptions): Chain;
  50. isDecimal(options?: Options.IsDecimalOptions): Chain;
  51. isDivisibleBy(number: number): Chain;
  52. isEAN(): Chain;
  53. isEmail(options?: Options.IsEmailOptions): Chain;
  54. isEmpty(options?: Options.IsEmptyOptions): Chain;
  55. isEthereumAddress(): Chain;
  56. isFQDN(options?: Options.IsFQDNOptions): Chain;
  57. isFloat(options?: Options.IsFloatOptions): Chain;
  58. isFreightContainerID(): Chain;
  59. isFullWidth(): Chain;
  60. isHalfWidth(): Chain;
  61. isHash(algorithm: Options.HashAlgorithm): Chain;
  62. isHexColor(): Chain;
  63. isHexadecimal(): Chain;
  64. isHSL(): Chain;
  65. isIBAN(options?: Options.IsIBANOptions): Chain;
  66. isIdentityCard(locale: Options.IdentityCardLocale): Chain;
  67. isIMEI(options?: Options.IsIMEIOptions): Chain;
  68. isIP(version?: Options.IPVersion): Chain;
  69. isIPRange(version?: Options.IPVersion): Chain;
  70. isISBN(versionOrOptions?: number | Options.IsISBNOptions): Chain;
  71. isISSN(options?: Options.IsISSNOptions): Chain;
  72. isISIN(): Chain;
  73. isISO6346(): Chain;
  74. isISO6391(): Chain;
  75. isISO8601(options?: Options.IsISO8601Options): Chain;
  76. isISO31661Numeric(): Chain;
  77. isISO31661Alpha2(): Chain;
  78. isISO31661Alpha3(): Chain;
  79. isISO4217(): Chain;
  80. isISO15924(): Chain;
  81. isISRC(): Chain;
  82. isIn(values: readonly any[]): Chain;
  83. isInt(options?: Options.IsIntOptions): Chain;
  84. isJSON(options?: Options.IsJSONOptions): Chain;
  85. isJWT(): Chain;
  86. isLatLong(options?: Options.IsLatLongOptions): Chain;
  87. isLength(options: Options.MinMaxOptions): Chain;
  88. isLicensePlate(locale: Options.IsLicensePlateLocale): Chain;
  89. isLocale(): Chain;
  90. isLowercase(): Chain;
  91. isLuhnNumber(): Chain;
  92. isMagnetURI(): Chain;
  93. isMailtoURI(options?: Options.IsEmailOptions): Chain;
  94. isMACAddress(options?: Options.IsMACAddressOptions): Chain;
  95. isMD5(): Chain;
  96. isMimeType(): Chain;
  97. isMobilePhone(locale: Options.MobilePhoneLocale | readonly Options.MobilePhoneLocale[], options?: Options.IsMobilePhoneOptions): Chain;
  98. isMongoId(): Chain;
  99. isMultibyte(): Chain;
  100. isNumeric(options?: Options.IsNumericOptions): Chain;
  101. isOctal(): Chain;
  102. isPassportNumber(countryCode?: Options.PassportCountryCode): Chain;
  103. isPort(): Chain;
  104. isPostalCode(locale: Options.PostalCodeLocale): Chain;
  105. isRFC3339(): Chain;
  106. isRgbColor(includePercentValues?: boolean): Chain;
  107. isSemVer(): Chain;
  108. isSlug(): Chain;
  109. isStrongPassword(options?: Options.IsStrongPasswordOptions): Chain;
  110. isSurrogatePair(): Chain;
  111. isTaxID(locale: Options.TaxIDLocale): Chain;
  112. isTime(options?: Options.IsTimeOptions): Chain;
  113. isURL(options?: Options.IsURLOptions): Chain;
  114. isULID(): Chain;
  115. isUUID(version?: Options.UUIDVersion): Chain;
  116. isUppercase(): Chain;
  117. isVariableWidth(): Chain;
  118. isVAT(countryCode: Options.VATCountryCode): Chain;
  119. isWhitelisted(chars: string | readonly string[]): Chain;
  120. matches(pattern: RegExp | string, modifiers?: string): any;
  121. }