2017-01-20 1 views
0

Я создаю новую схему в мангусте и пытаюсь проверить разные входы, например ip и pwd. У нас может быть проверка в части пользовательского интерфейса, но мы можем сделать это снова в фоновом режиме? Ниже приведен пример кода: -Можем ли мы поставить проверку при создании схемы в mongoose

var mongoose = require('mongoose'), 
    Schema = mongoose.Schema; 

var ServerSchema = new Schema({ 
    serverIp: { type : String , required : true }, 
    Name: { type: String, required : true }, 
    serverType: {type: String , required : true }, 
    created_date: {type: Date, default: Date.now}, 
    updated_date: {type: Date, default: Date.now} 
}); 

Я никогда не работал на серверной части, поэтому, пожалуйста, простите, если это начинающий вопрос.

+0

Mongoose является основой бэкенд. Он будет выполнять проверку данных только на бэкэнд, а не на интерфейсе. – str

+0

@str: вот что мой вопрос сэр. Я говорю, что мы можем сделать проверку в интерфейсе через ** angular.js **. Но можем ли мы это сделать и через мангуста. – TheMightyNight

+0

См. Http://mongoosejs.com/docs/browser.html – str

ответ

1

Вы можете использовать пользовательские регулярные выражения для выполнения вашей проверки. Например, как это:

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

ЗАКАНЧИВАТЬ мангустов validation docs

+0

JavaEvgen: Это нормально работает для номера телефона. Поскольку d {3} будет принимать минимум 3 символа, но в ip это может быть 1-3. Я пробовал использовать d {1-3}, но он не работает. Сообщите мне, если это можно сделать. – TheMightyNight

+0

попробуйте следующее: '/^\ d {1,3} \. \ D {1,3} \. \ D {1,3} \. \ D {1,3}/$' – JavaEvgen

+0

Он отлично работает с '/ \ д {1,3}. \ д {1,3}. \ д {1,3}. \ д {1,3} /'. Благодарю. – TheMightyNight