const mongoose = require('mongoose');
function validateEmail(email) {
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return emailRegex.test(email);
}
const userModel = new mongoose.Schema({
email:{
type:String,
require: true,
unique: true,
validate: {
validator: validateEmail,
message: 'Invalid email format',
},
},
password:{
type:String,
require: true
},
},
{
timestamps: true
}
);
const userDataModel = mongoose.model('user', userModel);
module.exports = userDataModel;
const mongoose = require('mongoose');
const DetailModel = new mongoose.Schema({
user_id:{
type: mongoose.Schema.Types.ObjectId,
ref:'user',
required: true,
},
name:{
type:String,
require: true,
validate: {
validator: function(value) {
const regex = /^[a-zA-Z]+$/;
return regex.test(value);
},
message: 'Invalid characters in the name field. Only alphabets are allowed.'
}
},
phone:{
type:Number,
require: true
},
country:{
type:String,
enum: ['USA', 'Canada', 'UK', 'Australia', 'India', 'Other'],
require: true
},
additional_info:{
type:String,
require: true,
validate: {
validator: function(value) {
const regex = /^[a-zA-Z0-9.,@_]+$/;
return regex.test(value);
},
message: 'Invalid characters in additional_info field.'
}
},
file:{
type:String,
required: true
}
},
{
timestamps: true
}
);
const userDetailModel = mongoose.model('userDetail', DetailModel);
module.exports = userDetailModel;
Comments