Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

survey.answer.validator.js 1.2KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import Joi from 'joi'
  2. import domains from './tlds-alpha-by-domain.js'
  3. const answerValidator = {
  4. name: Joi.string().min(2).max(50).required(),
  5. email: Joi.string().email({
  6. minDomainSegments: 2,
  7. tlds: { allow: domains },
  8. }),
  9. // TODO: change to valdate against JWT??
  10. auth: Joi.any(),
  11. // TODO: Uncomment when ease of development no longer needed
  12. // password: Joi.string().min(10).max(30).pattern(new RegExp('[a-zA-Z0-9]+')),
  13. password: Joi.string().max(30).pattern(new RegExp('[a-zA-Z0-9]+')),
  14. // TODO: Change if going international (only works in usa)
  15. zipcode: Joi.string().min(5).max(5).pattern(new RegExp('^[0-9]{5}$')),
  16. seeking: Joi.string(),
  17. urgency: Joi.string(),
  18. presence: Joi.string(),
  19. duration: Joi.string(),
  20. pronouns: Joi.string(),
  21. language: Joi.string(),
  22. image: Joi.any(),
  23. // NOTE: Allows 1 to 3 digits and then distance metric
  24. distance: Joi.string()
  25. .min(4)
  26. .max(15)
  27. .pattern(
  28. new RegExp(
  29. '^\\d{1,3}(\\.\\d{1,2})?\\s?(mi|km|mile|miles|kilometer|kilometers)$',
  30. ),
  31. ),
  32. blurb: Joi.string().max(200),
  33. value: Joi.string(),
  34. aspect: Joi.number(),
  35. }
  36. export { answerValidator }