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) {
|
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) {
|
if (req.body.password !== req.body.confirmPassword) {
|
||||||
req.flash('messages', 'Passwords do not match');
|
req.flash('messages', 'Passwords do not match');
|
||||||
return res.redirect('/signup');
|
return res.redirect('/signup');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var user = new User({
|
||||||
|
username: req.body.email,
|
||||||
|
password: req.body.password
|
||||||
|
});
|
||||||
|
|
||||||
user.save(function(err) {
|
user.save(function(err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
|
|
||||||
if (err.name === 'ValidationError') {
|
if (err.name === 'ValidationError') {
|
||||||
req.flash('messages', _.map(err.errors, function(value, key) { return value.message; }));
|
req.flash('messages', _.map(err.errors, function(value, key) { return value.message; }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (err.code === 11000) {
|
if (err.code === 11000) {
|
||||||
req.flash('messages', 'User already exists');
|
req.flash('messages', 'User already exists');
|
||||||
}
|
}
|
||||||
|
|
||||||
return res.redirect('/signup');
|
return res.redirect('/signup');
|
||||||
}
|
}
|
||||||
|
|
||||||
req.logIn(user, function(err) {
|
req.logIn(user, function(err) {
|
||||||
if (err) throw err;
|
if (err) throw err;
|
||||||
res.redirect('/');
|
res.redirect('/');
|
||||||
|
@ -2,7 +2,7 @@ var mongoose = require('mongoose'),
|
|||||||
bcrypt = require('bcrypt');
|
bcrypt = require('bcrypt');
|
||||||
|
|
||||||
var userSchema = new mongoose.Schema({
|
var userSchema = new mongoose.Schema({
|
||||||
username: { type: String, unique: true },
|
username: { type: String, index: true, unique: true },
|
||||||
email: String,
|
email: String,
|
||||||
name: String,
|
name: String,
|
||||||
password: String,
|
password: String,
|
||||||
|
@ -11,11 +11,11 @@ block content
|
|||||||
span.text-muted NAME
|
span.text-muted NAME
|
||||||
form(method='POST')
|
form(method='POST')
|
||||||
.form-group
|
.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
|
.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
|
.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')
|
button(type='submit')
|
||||||
i.fa.fa-chevron-right
|
i.fa.fa-chevron-right
|
||||||
.form-options.clearfix
|
.form-options.clearfix
|
||||||
|
Reference in New Issue
Block a user