2016-09-09 1 views
-2

user.js

var express = require('express');  
var router = express.Router();  

/* GET users listing. */  
router.get('/', function(req, res, next) {  
res.send('respond with a resource');  
});  

router.get('/register', function(req, res, next) {  
res.render('register', {  
    'title':'Register'  
    });  
});  

router.get('/login', function(req, res, next) {  
res.render('login', {  
    'title':'Login'  
});  
});  


router.post('/register',function(req, res, next){  
//get the form values  
var name = req.body.name;  
var email = req.body.email;  
var username = req.body.username;  
var password = req.body.password;  
var password2 = req.body.password2;  

//check for image field  
if(req.files.profileimage){  
console.log('Uploading File...');  

var profileImageOriginalName = req.files.profileimage.originalname;  
var profileImageName   = req.files.profileimage.name;  
var profileImageMine   = req.files.profileimage.mimetype;  
var profileImagePath   = req.files.profileimage.path;  
var profileImageExt   = req.files.profileimage.extension;  
var profileImageSize   = req.files.profileimage.size;  
}else{  
//set default image  
var profileImageName = 'noimage.png';  
}  

//form validation  
req.checkBody('name','Name field is required').notEmpty();  
req.checkBody('email','Email field is required').notEmpty();  
req.checkBody('email','Email field is required').isEmail();  
req.checkBody('username','Username field is required').notEmpty();  
req.checkBody('password','Password field is required').notEmpty();  
req.checkBody('password2','Passwords dont match').equals(req.body.password);  

//check for errors  
var errors = req.validationErrors();  

if(errors){  
    res.render('register', {  
     errors: errors,  
     name: name,  
     email: email,  
     username: username,  
     password: password,  
     password2: password2  
    });  
}else{  
    var newUser = new User({  
     name: name,  
     email: email,  
     username: username,  
     password: password,  
     profileimage: profileImageName  
    });  

/* User.createUser(newUser,function(err, user){  
     if(error) throw err;  
     console.log(user);  
    });*/  

    //success message  
    req.flash('success','You are now registered and may login');  

    res.location('/');  
    res.redirect('/');  
    }  
    });  

    module.exports = router; 

register.jade

extends layout 

block content 
h1 Register 
p Please register using the form below 
ul.errors 
    if errors 
     each error, i in errors 
      li.alert.alert-danger #{error.msg} 
form(method='post', action='/user/register',enctype='multipart/form-data') 
    .form-group 
     label Name 
     input.form-control(name='name', type='text', placeholder='Enter   Name') 
    .form-group 
     label Email 
     input.form-control(name='email', type='text', placeholder='Enter Email') 
    .form-group 
     label Username 
     input.form-control(name='username', type='text', placeholder='Enter Username') 
    .form-group 
     label Password 
     input.form-control(name='password', type='password', placeholder='Enter Password') 
    .form-group 
     label Confirm Password 
     input.form-control(name='password2', type='password', placeholder='Confirm Password') 
    .form-group 
     label Profile Image 
     input.form-control(name='profileimage', type='file') 
    input.btn.btn-success(type='submit', name='submit', value='Register') 

"registre" est mon fichier register.jade qui montre la vue de page de registre dans le modèle de jade. Maintenant, j'ai ajouté la logique de sorte que si des zones de texte sont vides, il vous redirigera pour réenregistrer la page, mais cela ne se produit pas. Que dois-je rectifier pour que la 404 Not Found disparaisse?Dès que je clique sur le bouton d'enregistrement, au lieu de rediriger vers la même page, il montre "INTROUVABLE"

+0

Votre action de formulaire ne semble pas correspondre à votre itinéraire. – CBroe

Répondre

0

changement

form(method='post', action='/user/register',enctype='multipart/form-data') 

Pour

form(method='post', action='/register',enctype='multipart/form-data') 

Dans le modèle de jade de l'avoir à afficher l'URL correcte.

+0

J'ai essayé et encore il affiche "NON TROUVÉ" –

+0

Double vérifier. Le 404 avait du sens quand l'action était mauvaise, mais pas quand elle est corrigée ... – Rudi

+0

S'il vous plaît envoyez-moi votre email ID. Je vais vous envoyer mon code et pouvez-vous s'il vous plaît regarder dedans. J'essaie toujours, mais pas de chance. –