vaccines.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. const joi = require("joi");
  2. // .string():数据必须为字符串类
  3. // .number():数据必须为数字类型
  4. // .integer():数据必须为整数类型
  5. // .alphanum():数据只能包含[a-zA-Z0-9]的字符
  6. // .max(number|string):number:最大长度 | string:最大日期
  7. // .min(number|string):number:最小长度 | string:最小日期
  8. // .required():数据为必填项,不能为null或undefined
  9. // .pattern(正则表达式):以正则表达式的形式验证数据
  10. // .regex(正则表达式):定义字段必须匹配正则规则。
  11. // .email():验证邮箱
  12. // .joi.ref(key:string):引言同辈的键值,就是拿到value
  13. // .not(values:any[]):当前属性的值不能同参数值相同
  14. // .valid(…values:any[]):当前属性的值必须于参数值相同
  15. // .dataUri():当前字段为可以是URL地址
  16. // .allow(…values:any[]):该字段允许为指定参数的值
  17. // .default(any[]):设置该字段的默认值,值可以为string、number、boolean……等
  18. // .error(new Error(‘错误信息’)):在不符合验证条件的时候会返回错误信息
  19. const id = joi.number().integer().min(1).required()
  20. const vaccine = joi.string().required()
  21. const date = joi.string().required()
  22. const Lot = joi.string().required()
  23. const expirationDate = joi.string().required()
  24. const manufacturer = joi.string().required()
  25. const site = joi.string().required()
  26. const clinic = joi.string().required()
  27. const provider = joi.string().required()
  28. const price = joi.number().required()
  29. const isFree = joi.number().required()
  30. exports.addVaccineSchema = {
  31. body: {
  32. vaccine,
  33. date,
  34. Lot,
  35. expirationDate,
  36. manufacturer,
  37. site,
  38. clinic,
  39. provider,
  40. price,
  41. isFree
  42. }
  43. };
  44. exports.updataVaccineSchema = {
  45. body: {
  46. id,
  47. vaccine,
  48. date,
  49. Lot,
  50. expirationDate,
  51. manufacturer,
  52. site,
  53. clinic,
  54. provider,
  55. price,
  56. isFree
  57. }
  58. };
  59. exports.deleteVaccineSchema = {
  60. params: {
  61. id
  62. }
  63. };