Lors de l'enregistrement d'un nouvel utilisateur, je souhaite vérifier son unicité. J'utilise l'analyseur de corps pour m'assurer que tous les champs ne sont pas vides, mais comment puis-je vérifier que l'e-mail d'entrée n'est pas utilisé par quelqu'un d'autre et envoyer immédiatement le message à un utilisateur?Meilleure façon de valider l'unicité d'un champ Mangoose Node
La pile technologique est Node.js, mangouste, le module corps-analyseur, MongoDB
Voici le fichier d'itinéraire:
router.post('/register', function(req, res){
let name = req.body.name;
let email = req.body.email;
req.checkBody('name', 'Name field is empty!').notEmpty();
req.checkBody('email', 'Email field is empty!').notEmpty();
req.checkBody('email', 'Invalid email format').isEmail();
var errors = req.validationErrors();
if(errors){
res.render('register', {
errors:errors
});
} else {
let newUser = new User({
name: name,
email: email
});
Après avoir consulté des questions similaires, j'ai trouvé un moyen d'utiliser un pré enregistrer dans mon fichier de modèle, mais je ne sais pas comment afficher l'erreur à l'utilisateur dans le cadre du tableau errors
(voir ci-dessus)
Toute aide sera grandement appréciée!
Vous pouvez utiliser 'router.post ('/ register', fonction (req, res) { \t });' comme dans votre code ci-dessus au lieu de 'exports.register = function (req, res, suivant) {} ' – Sleek
merci! Vous m'avez vraiment aidé, mais est-ce que ça va si j'utilise 'router.post ('/ register'') au lieu de' exports.register'? – Nick