Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在项目中的何处放置电子邮件验证程序?_Node.js_Mongoose - Fatal编程技术网

Node.js 在项目中的何处放置电子邮件验证程序?

Node.js 在项目中的何处放置电子邮件验证程序?,node.js,mongoose,Node.js,Mongoose,我正在学习节点和Java脚本的第2天。我一直在学习基础教程,并决定尝试在代码中实现简单的电子邮件验证 问题是我不确定代码放在哪里——我有一个server.js文件,保存所有CRUD操作,还有一个Mongoose模型,确保输入正确的数据。是否有人对使用此模块验证用户输入的电子邮件的最佳方法有任何建议 //Email-validation npm module var validator = require("email-validator"); validator.validate("te

我正在学习节点和Java脚本的第2天。我一直在学习基础教程,并决定尝试在代码中实现简单的电子邮件验证

问题是我不确定代码放在哪里——我有一个server.js文件,保存所有CRUD操作,还有一个Mongoose模型,确保输入正确的数据。是否有人对使用此模块验证用户输入的电子邮件的最佳方法有任何建议

 //Email-validation npm module
 var validator = require("email-validator");

 validator.validate("test@email.com");


 //Mongoose model
 var mongoose = require('mongoose');
 var Schema = mongoose.Schema;

 var Tickets = new Schema({

   name: {
     type: String,
     required: true
   },
   email: {
     type: String,
     required: true
   },
   address: {
     type: String,
     required: true
   },
   price: {
     type: Number,
     required: true,
     min: 1,
     max: 100
   }

 });

 module.exports = mongoose.model('Ticket', TicketSchema);

保存对象前验证电子邮件。代码应该如下所示:

Tickets.pre('save', function (next) {
var ticket = this;
if (!ticket.isModified('email')) {
    next();
} else {
    var valid = validator.validate(ticket.email);
    if(valid) {
        next();
    } else {
        next(valid);
    }        
}
});

保存对象前验证电子邮件。代码应该如下所示:

Tickets.pre('save', function (next) {
var ticket = this;
if (!ticket.isModified('email')) {
    next();
} else {
    var valid = validator.validate(ticket.email);
    if(valid) {
        next();
    } else {
        next(valid);
    }        
}
});