2017-10-25 16 views
0

페이로드 검증대로 작동하지 않는이 페이로드의 검증입니다 제대로 을 작동하지 않습니다 :페이로드 유효성 검사가 배열라는 제작자에 대한 기대

작성자가 필수 필드 있어야하고 경우 오류가 발생한다

creator: { 
      _id:Joi.string().required(), 
      name: Joi.string().required() 
     } 
http 본문에 입력으로 입력되지 않았습니다. 현재

var User = { 
     _id: {type: Schema.ObjectId, ref: 'Admin'}, 
     name: {type: String, ref: 'Admin'} 
    }; 
    var Note = new Schema({ 
    creator: User }); 

내가 HTTP 본문에 제작자를 통과하지 못한 경우 여전히없이 잘 작동 : 이 몽구스 스키마입니다. 당신은 "창조자"(단수)을 명명하고 같은 소리 배열을 원하기 때문에

creator: Joi.array().items(Joy.object({ 
      _id:Joi.string().required(), 
      name: Joi.string().required() 
     })) 

그것의 몽구스 측에 대한하지만, 질문이 "어떻게 조이와 배열을 확인하는"

+0

왜 당신이 JOI 검증 방식에 moongose ​​체계를 배치해야합니까 받아 들일 것입니다 : 당신은 끝에 .single()으로 그렇게 할 수 있습니까? 당신이하려는 것을 설명 할 수 있습니까? –

+0

두 번째 부분은 모델이고 첫 번째 부분은 페이로드 유효성 검사입니다. 나는 지금 일하게했다 – Anamika

답변

1

확실하지 않음 단일 오브젝트 또는 오브젝트 h 열을 채택 할 수 있습니다.

creator: Joi.array().items(Joy.object({ 
      _id:Joi.string().required(), 
      name: Joi.string().required() 
     })).single() 

이 모두 creator: { _id: '' , name: ''}creator: [{_id: '', name: ''}]

+0

알게되었다. 나는 .single() 대신 .required()를 언급했지만'.single()'도 시도해 보았습니다. 감사 – Anamika