Reputation: 13
I got requests and I want to validate the data
Here is the data I want to check
const RouterUser= require("express").Router(); const user = require('../module/UsersSchema');
RouterUser.post('/register',async (req,res)=>{
//Test Validtion data
//Get Data From Clinet Side
const data = new user({
name:req.body.name,
email:req.body.email,
password:req.body.password
});
//Send Data To Api
try{
const {_id} = await data.save();
const token = jwt.sign({_id_user:_id},process.env.tokenPass);
res.header('uath-token',token).send(token);
}
catch(err){
res.status(400).json({
message:"Fuild",
error:err
})
}
})
here my schema
const UserSchema = new mongoose.Schema({
name:{
type:String,
require,
min:6,
max:250
},
email:{
type:String,
require,
min:6,
max:250,
},
password:{
type:String,
require,
min:6,
max:1100
}
});
const User = mongoose.model("User",UserSchema);
module.exports = Userenter code here
Upvotes: 1
Views: 69
Reputation: 469
you can check by adding the package Validator
npm install validator
const validator = require('validator')
email: {
type: String,
unique: true,
required: [true, 'Please provide an email'],
validate: {
validator: validator.isEmail,
message: 'Please provide a valid email address'
},
}
Or using Regex
email: {
type: String,
required: [true, 'Please provide an email'],
match: [
/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
'Please provide a valid email',
],
unique: true,
}
Upvotes: 0