Итак, сейчас я использую пакет валидатора для проверки электронной почты
const validator = require('validator');
email: {
type: String,
required: [true, 'User must have a email'],
unique: true,
lowercase: true, //transform to lowercase
validate: [validator.isEmail, 'Please provide a valid email']
}
Итак, я обнаружил, что эта функция просматривает переполнение стека:
var validateEmail = function(email) {
var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
return re.test(email)
};
var EmailSchema = new Schema({
email: {
type: String,
trim: true,
lowercase: true,
unique: true,
required: 'Email address is required',
validate: [validateEmail, 'Please fill a valid email address'],
match: [/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/, 'Please fill a valid email address']
}
});
Так что мне было интересно, как можно Я использую его или использую что-то подобное для запуска в качестве промежуточного ПО mon goose? и имеет ли смысл использовать его в качестве промежуточного программного обеспечения?
пример:
userSchema.pre('save'....)