Joi从另一个模型中获取模式

时间:2017-02-16 19:25:20

标签: node.js hapijs joi

如何使用Joi从其他模型导入架构?

主要课程:

Lol = _dynogels2.default.define('Lol', {
                hashKey: 'userId',
                timestamps: true,
                tableName: 'Lol',
                schema: _joi2.default.object({
                    id: _dynogels2.default.types.uuid(),
                    userId: _joi2.default.string().trim().required(),
                    revisionDate: _joi2.default.number().required(),
                    verify: Verify.schema,
                    createdAt: _joi2.default.date().default(Date.now, 'time of creation').required(),
                    updatedAt: _joi2.default.date().min(_joi2.default.ref('createdAt')).required()
                }).unknown(true).options({ stripUnknown: true })
            });

亚类:

Verify = _dynogels2.default.define('Verify', {
                hashKey: 'username',
                timestamps: true,
                tableName: 'Users',
                schema: _joi2.default.object({
                    id: _dynogels2.default.types.uuid(),
                    isVerified: _joi2.default.boolean(),
                    createdAt: _joi2.default.date().default(Date.now, 'time of creation').required(),
                    updatedAt: _joi2.default.date().min(_joi2.default.ref('createdAt')).required()
                }).unknown(true).options({ stripUnknown: true })
            });

我收到此错误:Invalid schema content

编辑:

如果我将模式用作var并导入它,则可以使用:

var schema = joi2.default.object({
                        id: _dynogels2.default.types.uuid(),
                        isVerified: _joi2.default.boolean(),
                        createdAt: _joi2.default.date().default(Date.now, 'time of creation').required(),

1 个答案:

答案 0 :(得分:0)

我认为Math.ceil(1.2) // 2 Math.ceil(1.9) // 2 指的是Invalid schema content。这引用了_dynogels2.default.types.uuid()的编译模式吗?如果不是,则joi.string().uuid()不知道如何将其转换为其规则集。