diff --git a/app/controllers/querySubmit.js b/app/controllers/querySubmit.js index e8acc29..4ed6863 100644 --- a/app/controllers/querySubmit.js +++ b/app/controllers/querySubmit.js @@ -1,20 +1,29 @@ const { currentRERequest } = require('../helpers/url'); +const { isValidEmail } = require('../helpers/email'); const getQuerySubmit = async (req,res) => { const nextStep = req.query.nextStep; + const error = req.query.error; res.render('querySubmit', { - nextStep + nextStep, + error }); }; const postQuerySubmit = async (req, res) => { const request = await currentRERequest(req); const nextStep = req.query.nextStep || '/ponovo'; - //TODO: validate email - request.email = req.body.email; - await request.save(); - res.redirect(nextStep); + + const emailInput = req.body.email; + + if (isValidEmail(emailInput)){ + request.email = req.body.email; + await request.save(); + res.redirect(nextStep); + } else { + res.redirect('?error=1'); + } }; module.exports = { diff --git a/app/helpers/email.js b/app/helpers/email.js new file mode 100644 index 0000000..c5b7d66 --- /dev/null +++ b/app/helpers/email.js @@ -0,0 +1,9 @@ + +const isValidEmail = (email) => { + const simpleEmailRegex = /^.+@.+\..+$/; + return (email && email.length < 250 && simpleEmailRegex.test(email)); +}; + +module.exports = { + isValidEmail +}; diff --git a/app/views/querySubmit.ejs b/app/views/querySubmit.ejs index 1a79b25..5612ce4 100644 --- a/app/views/querySubmit.ejs +++ b/app/views/querySubmit.ejs @@ -4,29 +4,39 @@
-
-
- +
+
+ +
-
-
-
- - Javi mi - + <% if (error) {%> +
+
+
Greška ! Unesite ispravan email
+
+
+ <%}%> + -
-
-
-

* U svakom trenutku možete prekinuti slanje objava kroz link u e-mailu

+
+
+

* U svakom trenutku možete prekinuti slanje objava kroz link u e-mailu

+
-