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

survey.answer.validator.js 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738
  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. // password: Joi.string().min(10).max(30).pattern(new RegExp('[a-zA-Z0-9]+')),
  12. password: Joi.string().max(30).pattern(new RegExp('[a-zA-Z0-9]+')),
  13. // TODO: Change if going international (only works in usa)
  14. zipcode: Joi.string().min(5).max(5).pattern(new RegExp('^[0-9]{5}$')),
  15. seeking: Joi.string(),
  16. urgency: Joi.string(),
  17. presence: Joi.string(),
  18. duration: Joi.string(),
  19. pronouns: Joi.string(),
  20. language: Joi.string(),
  21. image: Joi.any(),
  22. // NOTE: Allows 1 to 3 digits and then distance metric
  23. distance: Joi.string()
  24. .min(4)
  25. .max(15)
  26. .pattern(
  27. new RegExp(
  28. '^\\d{1,3}(\\.\\d{1,2})?\\s?(mi|km|mile|miles|kilometer|kilometers)$',
  29. ),
  30. ),
  31. blurb: Joi.string().max(200),
  32. value: Joi.string(),
  33. aspect: Joi.number(),
  34. }
  35. export { answerValidator }