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;
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')
"寄存器"是我的register.jade文件,它显示了jade模板中的寄存器页面视图。 现在我添加了逻辑,这样如果任何文本框都是空的,那么它会将你重定向到注册页面,但这并没有发生。我应该纠正什么,以便404 Not Found消失?
答案 0 :(得分:0)
更改
form(method='post', action='/user/register',enctype='multipart/form-data')
要
form(method='post', action='/register',enctype='multipart/form-data')
在jade模板中将其发布到正确的URL。