Client-side required password and email fields

This commit is contained in:
Sahat Yalkabov
2013-12-05 23:12:43 -05:00
parent 3ecd3ad148
commit 1ddd639592
3 changed files with 10 additions and 13 deletions

View File

@ -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('/');

View File

@ -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,

View File

@ -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