2017-02-16 14 views
0

Joiで他のモデルからスキーマをインポートするには?Joi別のモデルのスキーマを取得

メインクラス:私はVARとして、スキーマを使用して、それをインポートする場合

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 }) 
      }); 

サブクラス:Invalid schema content

編集:

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 }) 
      }); 

私はこのエラーを得ました、作品:

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(), 
+0

_joi2に添付されているこのデフォルトオブジェクトは何ですか? –

+0

@ simon-p-r、それは単純なjoiオブジェクトです。 – Marckaraujo

+0

それはそうではありません、私はユーザーがスキーマを構築するときにオブジェクトを簡単になります。あなたはあなたの例から見ることができないいくつかの価値を変異させています。 –

答えて

0

Invalid schema contentは、_dynogels2.default.types.uuid()と言います。それはjoi.string().uuid()のコンパイルされたスキーマを参照していますか?そうでなければ、Joiはそのルールセットへの変換方法を知らない。

+0

このスキーマはかなりうまく機能します。私はそれをインポートして使用せずに使用しました。 – Marckaraujo

関連する問題