用Joivalidation嵌套对象
如何使用joivalidation这个对象? 我用Hapi api使用Joi。
{ "email":"rambo@gmail.com", "password":"abc123", "active":"", "details": { "firstName": "Rambo", "lastName": "Comando", "phoneNumber": "5554446655", "billing":{ "firstName": "", "lastName": "", "phoneNumber": "", "address": "", "adress2": "", "postalCode": "", "city": "", "state": "", "country": "", "stripeId": "" } } }
我试过这样做,但它不工作。 什么是这样做的正确方法?
payload: { email: Joi.string().email().required(), password: Joi.string().alphanum().min(8).max(30).required(), active: Joi.boolean(), details: Joi.object().keys({ firstName: Joi.string().max(50), lastName: Joi.string().max(50), phoneNumber: Joi.number().integer().min(10).max(11), billing : Joi.object().keys({ firstName: Joi.string().max(50), lastName: Joi.string().max(50), phoneNumber: Joi.string().integer().min(10).max(11), address: Joi.string().alphanum(), adress2: Joi.string().alphanum(), postalCode: Joi.string().alphanum(), city: Joi.string(), state: Joi.string(), country: Joi.string(), stripeId: Joi.string().alphanum() }) }) }
林不知道我在哪里丢失的东西了。
代码中有一个错误,在这一行:
phoneNumber: Joi.string().integer().min(10).max(11),
Node.js抛出exception,因为它:
TypeError:Joi.integer不是一个函数
如果将其更改为string()
或number()
所有内容都将按照以下方式工作:
phoneNumber: Joi.number().min(10).max(11),
这很明显,所以我只是想知道,你怎么错过了? 一切与你的Joi模式似乎都没问题。
- Node.JS等待发出HTTP请求的REST Service的callback
- Node.js Loopback:TypeError:无法读取未定义的属性'createModel'
- Node Express API +前端
- Highrise API正在返回一个404错误
- Passport身份validationfunction在节点API中不起作用
- 在node.js服务器中定制bodyDecoder for Express
- 节点js使用主函数外的variables并设置函数的顺序
- Uber API – 使用非开发人员login时invalid_grant
- NodeJS / express – 公共API端点的安全性