2016-07-27 2 views
1

나는 aldeed:collection2aldeed:simple-schema 패키지를 사용하고 있습니다. 스키마에 대해 문서의 유효성을 검사하고 싶습니다. 내 스키마에 예 : allowedValues ​​배열이있는 문자열 필드와 하위 스키마로 설명 된 중첩 된 객체의 배열입니다. 이처럼 :Meteor SimpleSchema가 무작위 재료가 유효하다고 말합니다.

...

type: { 
    type: String, 
    allowedValues: [ 'A', 'B', 'C' ], 
    defaultValue: 'A', 
    index: 1, 
    }, 
nestedStuff: { 
    type: [ new SimpleSchema(nestedStuffSchema.schema(Meteor, SimpleSchema)) ], 
    defaultValue: [], 
    }, 

...

나는 예를 들어있는 '나쁜'문서를 가지고 type 필드의 "D"및 잘못된 중첩 배열 항목 클라이언트에서

내가하려고 해요 :

Contacts.simpleSchema().namedContext().validate(badDoc); 

그것은 true를 반환합니다. SimpleSchema는 해당 필드가 스키마를 준수하지 않더라도 문서가 유효하다고 말합니다. 'bad'유효성 검사 type 필드도 각각 true을 반환합니다. 내가 뭘 잘못하고 있니? 왜 SimpleSchema는 무작위 재료가 유효하다고 생각할 수 있습니까?

답변

0

당신이 아래의 코드를 .See [] 내부 문자열을 유지해야하는 문자열 배열을 유효성을 검사 할 경우가

+0

당신이 참조를 제공 할 수있을 것

type: { type: [String], allowedValues: [ 'A', 'B', 'C' ], defaultValue: ['A'], index: 1, }, nestedStuff: { type: [ new SimpleSchema(nestedStuffSchema.schema(Meteor,SimpleSchema)) ], defaultValue: [], }, 

감사 도와 드릴까요? – RNA