Client-side required password and email fields
This commit is contained in:
@ -65,30 +65,27 @@ exports.getSignup = function(req, res) {
|
||||
*/
|
||||
exports.postSignup = function(req, res) {
|
||||
|
||||
var user = new User({
|
||||
username: req.body.email,
|
||||
password: req.body.password,
|
||||
confirmPassword: req.body.confirmPassword
|
||||
});
|
||||
|
||||
if (req.body.password !== req.body.confirmPassword) {
|
||||
req.flash('messages', 'Passwords do not match');
|
||||
return res.redirect('/signup');
|
||||
}
|
||||
|
||||
var user = new User({
|
||||
username: req.body.email,
|
||||
password: req.body.password
|
||||
});
|
||||
|
||||
user.save(function(err) {
|
||||
if (err) {
|
||||
|
||||
if (err.name === 'ValidationError') {
|
||||
req.flash('messages', _.map(err.errors, function(value, key) { return value.message; }));
|
||||
}
|
||||
|
||||
if (err.code === 11000) {
|
||||
req.flash('messages', 'User already exists');
|
||||
}
|
||||
|
||||
return res.redirect('/signup');
|
||||
}
|
||||
|
||||
req.logIn(user, function(err) {
|
||||
if (err) throw err;
|
||||
res.redirect('/');
|
||||
|
@ -2,7 +2,7 @@ var mongoose = require('mongoose'),
|
||||
bcrypt = require('bcrypt');
|
||||
|
||||
var userSchema = new mongoose.Schema({
|
||||
username: { type: String, unique: true },
|
||||
username: { type: String, index: true, unique: true },
|
||||
email: String,
|
||||
name: String,
|
||||
password: String,
|
||||
|
@ -11,11 +11,11 @@ block content
|
||||
span.text-muted NAME
|
||||
form(method='POST')
|
||||
.form-group
|
||||
input.form-control(type='email', name='email', id='email', placeholder='Email', autofocus='')
|
||||
input.form-control(type='email', name='email', id='email', placeholder='Email', autofocus='', required='')
|
||||
.form-group
|
||||
input.form-control(type='password', name='password', id='password', placeholder='Password')
|
||||
input.form-control(type='password', name='password', id='password', placeholder='Password', required='')
|
||||
.form-group
|
||||
input.form-control(type='password', name='confirmPassword', id='confirmPassword', placeholder='Confirm Password')
|
||||
input.form-control(type='password', name='confirmPassword', id='confirmPassword', placeholder='Confirm Password', required='')
|
||||
button(type='submit')
|
||||
i.fa.fa-chevron-right
|
||||
.form-options.clearfix
|
||||
|
Reference in New Issue
Block a user