Add contact page server side validation assertions using express-validator
This commit is contained in:
@ -10,7 +10,7 @@ exports.getContact = function(req, res) {
|
|||||||
res.render('contact', {
|
res.render('contact', {
|
||||||
title: 'Contact',
|
title: 'Contact',
|
||||||
success: req.flash('success'),
|
success: req.flash('success'),
|
||||||
error: req.flash('error')
|
errors: req.flash('errors')
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -23,6 +23,18 @@ exports.getContact = function(req, res) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
exports.postContact = function(req, res) {
|
exports.postContact = function(req, res) {
|
||||||
|
req.assert('name', 'Name cannot be blank').notEmpty();
|
||||||
|
req.assert('email', 'Email cannot be blank').notEmpty();
|
||||||
|
req.assert('email', 'Email is not valid').isEmail();
|
||||||
|
req.assert('message', 'Message cannot be blank').notEmpty();
|
||||||
|
|
||||||
|
var errors = req.validationErrors();
|
||||||
|
|
||||||
|
if (errors) {
|
||||||
|
req.flash('errors', errors);
|
||||||
|
return res.redirect('/contact');
|
||||||
|
}
|
||||||
|
|
||||||
var from = req.body.email;
|
var from = req.body.email;
|
||||||
var name = req.body.name;
|
var name = req.body.name;
|
||||||
var body = req.body.message;
|
var body = req.body.message;
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
extends layout
|
extends layout
|
||||||
|
|
||||||
block content
|
block content
|
||||||
if error.length
|
if errors.length
|
||||||
.alert.alert-danger
|
.alert.alert-danger
|
||||||
p= error
|
for error in errors
|
||||||
|
div= error.msg
|
||||||
if success.length
|
if success.length
|
||||||
.alert.alert-success
|
.alert.alert-success
|
||||||
p= success
|
p= success
|
||||||
@ -15,15 +16,15 @@ block content
|
|||||||
.form-group
|
.form-group
|
||||||
label(class='col-sm-2 control-label', for='email') Name
|
label(class='col-sm-2 control-label', for='email') Name
|
||||||
.col-sm-8
|
.col-sm-8
|
||||||
input.form-control(type='name', name='name', id='name', required=true)
|
input.form-control(type='name', name='name', id='name', autofocus=true)
|
||||||
.form-group
|
.form-group
|
||||||
label(class='col-sm-2 control-label', for='email') Email
|
label(class='col-sm-2 control-label', for='email') Email
|
||||||
.col-sm-8
|
.col-sm-8
|
||||||
input.form-control(type='email', name='email', id='email', required=true)
|
input.form-control(type='text', name='email', id='email')
|
||||||
.form-group
|
.form-group
|
||||||
label(class='col-sm-2 control-label', for='contactBody') Body
|
label(class='col-sm-2 control-label', for='contactBody') Body
|
||||||
.col-sm-8
|
.col-sm-8
|
||||||
textarea.form-control(type='text', name='message', id='message', rows='7', required=true)
|
textarea.form-control(type='text', name='message', id='message', rows='7')
|
||||||
.form-group
|
.form-group
|
||||||
.col-sm-offset-2.col-sm-8
|
.col-sm-offset-2.col-sm-8
|
||||||
button.btn.btn-default(type='submit')
|
button.btn.btn-default(type='submit')
|
||||||
|
Reference in New Issue
Block a user