PageRenderTime 52ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/library/StaticValidator.php

https://github.com/Respect/Validation
PHP | 389 lines | 175 code | 156 blank | 58 comment | 0 complexity | 6e32197d0f0be14ad0f28e7d9681f26a MD5 | raw file
  1. <?php
  2. /*
  3. * This file is part of Respect/Validation.
  4. *
  5. * (c) Alexandre Gomes Gaigalas <alexandre@gaigalas.net>
  6. *
  7. * For the full copyright and license information, please view the LICENSE file
  8. * that was distributed with this source code.
  9. */
  10. declare(strict_types=1);
  11. namespace Respect\Validation;
  12. use finfo;
  13. use Respect\Validation\Rules\Key;
  14. use Symfony\Component\Validator\Constraint;
  15. use Symfony\Component\Validator\Validator\ValidatorInterface as SymfonyValidator;
  16. use Zend\Validator\ValidatorInterface as ZendValidator;
  17. interface StaticValidator
  18. {
  19. public static function allOf(Validatable ...$rule): ChainedValidator;
  20. public static function alnum(string ...$additionalChars): ChainedValidator;
  21. public static function alpha(string ...$additionalChars): ChainedValidator;
  22. public static function alwaysInvalid(): ChainedValidator;
  23. public static function alwaysValid(): ChainedValidator;
  24. public static function anyOf(Validatable ...$rule): ChainedValidator;
  25. public static function arrayType(): ChainedValidator;
  26. public static function arrayVal(): ChainedValidator;
  27. public static function attribute(
  28. string $reference,
  29. ?Validatable $validator = null,
  30. bool $mandatory = true
  31. ): ChainedValidator;
  32. public static function base(int $base, ?string $chars = null): ChainedValidator;
  33. public static function base64(): ChainedValidator;
  34. /**
  35. * @param mixed $minimum
  36. * @param mixed $maximum
  37. */
  38. public static function between($minimum, $maximum): ChainedValidator;
  39. public static function bic(string $countryCode): ChainedValidator;
  40. public static function boolType(): ChainedValidator;
  41. public static function boolVal(): ChainedValidator;
  42. public static function bsn(): ChainedValidator;
  43. public static function call(callable $callable, Validatable $rule): ChainedValidator;
  44. public static function callableType(): ChainedValidator;
  45. public static function callback(callable $callback): ChainedValidator;
  46. public static function charset(string ...$charset): ChainedValidator;
  47. public static function cnh(): ChainedValidator;
  48. public static function cnpj(): ChainedValidator;
  49. public static function control(string ...$additionalChars): ChainedValidator;
  50. public static function consonant(string ...$additionalChars): ChainedValidator;
  51. /**
  52. * @param mixed $containsValue
  53. */
  54. public static function contains($containsValue, bool $identical = false): ChainedValidator;
  55. /**
  56. * @param mixed[] $needles
  57. */
  58. public static function containsAny(array $needles, bool $strictCompareArray = false): ChainedValidator;
  59. public static function countable(): ChainedValidator;
  60. public static function countryCode(?string $set = null): ChainedValidator;
  61. public static function currencyCode(): ChainedValidator;
  62. public static function cpf(): ChainedValidator;
  63. public static function creditCard(?string $brand = null): ChainedValidator;
  64. public static function date(string $format = 'Y-m-d'): ChainedValidator;
  65. public static function dateTime(?string $format = null): ChainedValidator;
  66. public static function decimal(int $decimals): ChainedValidator;
  67. public static function digit(string ...$additionalChars): ChainedValidator;
  68. public static function directory(): ChainedValidator;
  69. public static function domain(bool $tldCheck = true): ChainedValidator;
  70. public static function each(Validatable $rule): ChainedValidator;
  71. public static function email(): ChainedValidator;
  72. /**
  73. * @param mixed $endValue
  74. */
  75. public static function endsWith($endValue, bool $identical = false): ChainedValidator;
  76. /**
  77. * @param mixed $compareTo
  78. */
  79. public static function equals($compareTo): ChainedValidator;
  80. /**
  81. * @param mixed $compareTo
  82. */
  83. public static function equivalent($compareTo): ChainedValidator;
  84. public static function even(): ChainedValidator;
  85. public static function executable(): ChainedValidator;
  86. public static function exists(): ChainedValidator;
  87. public static function extension(string $extension): ChainedValidator;
  88. public static function factor(int $dividend): ChainedValidator;
  89. public static function falseVal(): ChainedValidator;
  90. public static function fibonacci(): ChainedValidator;
  91. public static function file(): ChainedValidator;
  92. /**
  93. * @param mixed[]|int $options
  94. */
  95. public static function filterVar(int $filter, $options = null): ChainedValidator;
  96. public static function finite(): ChainedValidator;
  97. public static function floatVal(): ChainedValidator;
  98. public static function floatType(): ChainedValidator;
  99. public static function graph(string ...$additionalChars): ChainedValidator;
  100. /**
  101. * @param mixed $compareTo
  102. */
  103. public static function greaterThan($compareTo): ChainedValidator;
  104. public static function hexRgbColor(): ChainedValidator;
  105. public static function iban(): ChainedValidator;
  106. /**
  107. * @param mixed $compareTo
  108. */
  109. public static function identical($compareTo): ChainedValidator;
  110. public static function image(?finfo $fileInfo = null): ChainedValidator;
  111. public static function imei(): ChainedValidator;
  112. /**
  113. * @param mixed[]|mixed $haystack
  114. */
  115. public static function in($haystack, bool $compareIdentical = false): ChainedValidator;
  116. public static function infinite(): ChainedValidator;
  117. public static function instance(string $instanceName): ChainedValidator;
  118. public static function intVal(): ChainedValidator;
  119. public static function intType(): ChainedValidator;
  120. public static function ip(string $range = '*', ?int $options = null): ChainedValidator;
  121. public static function isbn(): ChainedValidator;
  122. public static function iterableType(): ChainedValidator;
  123. public static function json(): ChainedValidator;
  124. public static function key(
  125. string $reference,
  126. ?Validatable $referenceValidator = null,
  127. bool $mandatory = true
  128. ): ChainedValidator;
  129. public static function keyNested(
  130. string $reference,
  131. ?Validatable $referenceValidator = null,
  132. bool $mandatory = true
  133. ): ChainedValidator;
  134. public static function keySet(Key ...$rule): ChainedValidator;
  135. public static function keyValue(string $comparedKey, string $ruleName, string $baseKey): ChainedValidator;
  136. public static function languageCode(?string $set = null): ChainedValidator;
  137. public static function leapDate(string $format): ChainedValidator;
  138. public static function leapYear(): ChainedValidator;
  139. public static function length(?int $min = null, ?int $max = null, bool $inclusive = true): ChainedValidator;
  140. public static function lowercase(): ChainedValidator;
  141. /**
  142. * @param mixed $compareTo
  143. */
  144. public static function lessThan($compareTo): ChainedValidator;
  145. public static function luhn(): ChainedValidator;
  146. public static function macAddress(): ChainedValidator;
  147. /**
  148. * @param mixed $compareTo
  149. */
  150. public static function max($compareTo): ChainedValidator;
  151. public static function maxAge(int $age, ?string $format = null): ChainedValidator;
  152. public static function mimetype(string $mimetype): ChainedValidator;
  153. /**
  154. * @param mixed $compareTo
  155. */
  156. public static function min($compareTo): ChainedValidator;
  157. public static function minAge(int $age, ?string $format = null): ChainedValidator;
  158. public static function multiple(int $multipleOf): ChainedValidator;
  159. public static function negative(): ChainedValidator;
  160. public static function nfeAccessKey(): ChainedValidator;
  161. public static function nif(): ChainedValidator;
  162. public static function nip(): ChainedValidator;
  163. public static function no(bool $useLocale = false): ChainedValidator;
  164. public static function noneOf(Validatable ...$rule): ChainedValidator;
  165. public static function not(Validatable $rule): ChainedValidator;
  166. public static function notBlank(): ChainedValidator;
  167. public static function notEmoji(): ChainedValidator;
  168. public static function notEmpty(): ChainedValidator;
  169. public static function notOptional(): ChainedValidator;
  170. public static function noWhitespace(): ChainedValidator;
  171. public static function nullable(Validatable $rule): ChainedValidator;
  172. public static function nullType(): ChainedValidator;
  173. public static function number(): ChainedValidator;
  174. public static function numericVal(): ChainedValidator;
  175. public static function objectType(): ChainedValidator;
  176. public static function odd(): ChainedValidator;
  177. public static function oneOf(Validatable ...$rule): ChainedValidator;
  178. public static function optional(Validatable $rule): ChainedValidator;
  179. public static function perfectSquare(): ChainedValidator;
  180. public static function pesel(): ChainedValidator;
  181. public static function phone(): ChainedValidator;
  182. public static function phpLabel(): ChainedValidator;
  183. public static function pis(): ChainedValidator;
  184. public static function polishIdCard(): ChainedValidator;
  185. public static function positive(): ChainedValidator;
  186. public static function postalCode(string $countryCode): ChainedValidator;
  187. public static function primeNumber(): ChainedValidator;
  188. public static function printable(string ...$additionalChars): ChainedValidator;
  189. public static function punct(string ...$additionalChars): ChainedValidator;
  190. public static function readable(): ChainedValidator;
  191. public static function regex(string $regex): ChainedValidator;
  192. public static function resourceType(): ChainedValidator;
  193. public static function roman(): ChainedValidator;
  194. public static function scalarVal(): ChainedValidator;
  195. public static function sf(Constraint $constraint, ?SymfonyValidator $validator = null): ChainedValidator;
  196. public static function size(?string $minSize = null, ?string $maxSize = null): ChainedValidator;
  197. public static function slug(): ChainedValidator;
  198. public static function sorted(string $direction): ChainedValidator;
  199. public static function space(string ...$additionalChars): ChainedValidator;
  200. /**
  201. * @param mixed $startValue
  202. */
  203. public static function startsWith($startValue, bool $identical = false): ChainedValidator;
  204. public static function stringType(): ChainedValidator;
  205. public static function stringVal(): ChainedValidator;
  206. public static function subdivisionCode(string $countryCode): ChainedValidator;
  207. /**
  208. * @param mixed[] $superset
  209. */
  210. public static function subset(array $superset): ChainedValidator;
  211. public static function symbolicLink(): ChainedValidator;
  212. public static function time(string $format = 'H:i:s'): ChainedValidator;
  213. public static function tld(): ChainedValidator;
  214. public static function trueVal(): ChainedValidator;
  215. public static function type(string $type): ChainedValidator;
  216. public static function unique(): ChainedValidator;
  217. public static function uploaded(): ChainedValidator;
  218. public static function uppercase(): ChainedValidator;
  219. public static function url(): ChainedValidator;
  220. public static function uuid(?int $version = null): ChainedValidator;
  221. public static function version(): ChainedValidator;
  222. public static function videoUrl(?string $service = null): ChainedValidator;
  223. public static function vowel(string ...$additionalChars): ChainedValidator;
  224. public static function when(Validatable $if, Validatable $then, ?Validatable $else = null): ChainedValidator;
  225. public static function writable(): ChainedValidator;
  226. public static function xdigit(string ...$additionalChars): ChainedValidator;
  227. public static function yes(bool $useLocale = false): ChainedValidator;
  228. /**
  229. * @param string|ZendValidator $validator
  230. * @param mixed[] $params
  231. */
  232. public static function zend($validator, ?array $params = null): ChainedValidator;
  233. }