2017-02-16 6 views
0

Joi를 사용하여 다른 모델에서 스키마를 가져 오는 방법은 무엇입니까?Joi 다른 모델의 스키마 가져 오기

Main 클래스 :

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

_joi2에 첨부 된이 기본 객체는 무엇입니까? –

+0

@ simon-p-r, 그것은 단순한 조이 (joi) 객체입니다. – Marckaraujo

+0

마치 보이지 않는데, 나는 스키마를 만들 때 일반 객체를 사용자로 사용하게됩니다. 당신은 당신의 모범에서 볼 수없는 어떤 가치를 돌연변이시키고 있습니다. –

답변

0

Invalid schema content_dynogels2.default.types.uuid()입니다. 그것은 joi.string().uuid()의 컴파일 된 스키마를 참조하고 있습니까? 그렇지 않은 경우 Joi은이를 해당 규칙 집합으로 변환하는 방법을 알지 못합니다.

+0

이 스키마는 꽤 잘 작동합니다. 나는 그것을 가져 오지 않고 사용했다. – Marckaraujo