add simple email validation
This commit is contained in:
@@ -1,20 +1,29 @@
|
|||||||
const { currentRERequest } = require('../helpers/url');
|
const { currentRERequest } = require('../helpers/url');
|
||||||
|
const { isValidEmail } = require('../helpers/email');
|
||||||
|
|
||||||
const getQuerySubmit = async (req,res) => {
|
const getQuerySubmit = async (req,res) => {
|
||||||
const nextStep = req.query.nextStep;
|
const nextStep = req.query.nextStep;
|
||||||
|
const error = req.query.error;
|
||||||
|
|
||||||
res.render('querySubmit', {
|
res.render('querySubmit', {
|
||||||
nextStep
|
nextStep,
|
||||||
|
error
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const postQuerySubmit = async (req, res) => {
|
const postQuerySubmit = async (req, res) => {
|
||||||
const request = await currentRERequest(req);
|
const request = await currentRERequest(req);
|
||||||
const nextStep = req.query.nextStep || '/ponovo';
|
const nextStep = req.query.nextStep || '/ponovo';
|
||||||
//TODO: validate email
|
|
||||||
request.email = req.body.email;
|
const emailInput = req.body.email;
|
||||||
await request.save();
|
|
||||||
res.redirect(nextStep);
|
if (isValidEmail(emailInput)){
|
||||||
|
request.email = req.body.email;
|
||||||
|
await request.save();
|
||||||
|
res.redirect(nextStep);
|
||||||
|
} else {
|
||||||
|
res.redirect('?error=1');
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|||||||
9
app/helpers/email.js
Normal file
9
app/helpers/email.js
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
const isValidEmail = (email) => {
|
||||||
|
const simpleEmailRegex = /^.+@.+\..+$/;
|
||||||
|
return (email && email.length < 250 && simpleEmailRegex.test(email));
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
isValidEmail
|
||||||
|
};
|
||||||
@@ -4,29 +4,39 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<form method="POST" id="form-submitquery">
|
<form method="POST" id="form-submitquery">
|
||||||
<div class="row center-align">
|
<div class="row center-align">
|
||||||
<div class="col s6 push-s3">
|
<div class="col s6 push-s3">
|
||||||
<input id="email" name="email" type="email" placeholder="vas.email@mail.com"/>
|
<input id="email" name="email" type="email" placeholder="vas.email@mail.com" required size="250" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<% if (error) {%>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col s6 push-s3">
|
<div class="col s6 push-s3">
|
||||||
<a id="submit" href="#" class="welcome-center-button waves-effect waves-light btn">
|
<h6 style="color: red">Greška ! Unesite ispravan email</h6>
|
||||||
Javi mi
|
</div>
|
||||||
</a>
|
</div>
|
||||||
|
<%}%>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col s6 push-s3">
|
||||||
|
<a id="submit" href="#" class="welcome-center-button waves-effect waves-light btn">
|
||||||
|
Javi mi
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="row">
|
||||||
<div class="row">
|
<div class="col s6 push-s3">
|
||||||
<div class="col s6 push-s3">
|
<p>* U svakom trenutku možete prekinuti slanje objava kroz link u e-mailu</p>
|
||||||
<p>* U svakom trenutku možete prekinuti slanje objava kroz link u e-mailu</p>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$(document).ready( () => {
|
$(document).ready( () => {
|
||||||
$("#submit").click( () => {
|
$("#submit").click( () => {
|
||||||
$("#form-submitquery").submit();
|
const emailField = document.getElementById('email');
|
||||||
|
if (emailField.validity.valid){
|
||||||
|
$("#form-submitquery").submit();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user