2016-12-17 13 views
0
key: { 
    type: 'String', 
    required: [true, 'Required'], 
    trim: true 
} 

입력 유효성을 검사 할 수 있습니다, 그것은 변환 "문자열을"에있는 결과 항상 유효 타입이다. "key"처럼 "String"을 받아 들여야합니다. "Number"가 캐스팅하지 않고 유효성을 검사해야하는 경우.이 어떻게 몽구스 사용자 정의 유효성 검사기

답변

0

mongoose 스키마의 유효성 검사기 개체에 유효성 검사 함수를 전달할 수 있습니다. 전화 번호 스키마의 유효성을 검사하는 사용자 지정 유효성 검사 함수가있는 예제 스키마를 참조하십시오.

var userSchema = new Schema({ 
    phone: { 
    type: String, 
    validate: { 
     validator: function(v) { 
     return /\d{3}-\d{3}-\d{4}/.test(v); 
     }, 
     message: '{VALUE} is not a valid phone number!' 
    }, 
    required: [true, 'User phone number required'] 
    } 
}); 

이 검증

var User = db.model('user', userSchema); 
var user = new User(); 
var error; 

user.phone = '555.0123'; 
error = user.validateSync(); 
assert.equal(error.errors['phone'].message, 
    '555.is not a valid phone number!'); 

당신이 어떤 패턴으로 당신이 문자열을해야 원하는에 맞게 자신의 정규 표현식을 가질 수 있습니다 주장으로 테스트 할 수 있습니다.

+0

주의 깊게 읽으십시오. – Moniv

관련 문제