Added validation to email confirmation

This commit is contained in:
Nedim Uka
2019-05-29 17:04:16 +02:00
parent 7db74acad7
commit a0f2b044b2
2 changed files with 63 additions and 22 deletions

View File

@@ -1,7 +1,7 @@
const { currentRERequest } = require('../helpers/url'); const { currentRERequest } = require('../helpers/url');
const { isValidEmail } = require('../helpers/email'); 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; const error = req.query.error;
@@ -16,14 +16,30 @@ const postQuerySubmit = async (req, res) => {
const nextStep = req.query.nextStep || '/ponovo'; const nextStep = req.query.nextStep || '/ponovo';
const emailInput = req.body.email; const emailInput = req.body.email;
const emailConfirmInput = req.body.confirm;
let error = "Greška ! Unesite validan email";
if (isValidEmail(emailInput)){ if (!isValidEmail(emailInput) || !isValidEmail(emailInput)) {
request.email = req.body.email;
await request.save(); error = "Greška ! Unesite validan email";
res.redirect(nextStep); res.render('querySubmit', {
} else { error
res.redirect('?error=1'); });
return;
} }
if (emailInput !== emailConfirmInput) {
error = "Greška ! Unešeni emailovi nisu isti";
res.render('querySubmit', {
error
});
return;
}
request.email = req.body.email;
await request.save();
res.redirect(nextStep);
}; };
module.exports = { module.exports = {

View File

@@ -9,13 +9,25 @@
<input id="email" name="email" type="email" placeholder="vas.email@mail.com" required size="250" /> <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">
<h6 style="color: red">Greška ! Unesite ispravan email</h6> <h6 id="error-lable-email" style="color: red"><%= error %> </h6>
</div>
</div> </div>
<%}%> </div>
<div class="row center-align">
<div class="col s6 push-s3">
<input id="confirm" name="confirm" type="email" placeholder="potvrdite.email@mail.com" required size="250" />
</div>
</div>
<div class="row">
<div class="col s6 push-s3">
<h6 id="error-lable-email-confirm" style="color: red"></h6>
</div>
</div>
<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"> <a id="submit" href="#" class="welcome-center-button waves-effect waves-light btn">
@@ -31,13 +43,26 @@
</form> </form>
<script> <script>
$(document).ready( () => { $(document).ready(() => {
$("#submit").click( () => { $("#submit").click(() => {
const emailField = document.getElementById('email'); const emailField = document.getElementById('email');
if (emailField.validity.valid){ const emailConfirmField = document.getElementById('confirm');
$("#form-submitquery").submit(); const errorMessage = "Greška ! Unedite validan email";
} $("#error-lable-email").text("");
}); $("#error-lable-email-confirm").text("");
});
</script>
if (!emailField.validity.valid) {
$("#error-lable-email").text(errorMessage);
return
}
if (!emailConfirmField.validity.valid) {
$("#error-lable-email-confirm").text(errorMessage);
return
}
$("#form-submitquery").submit();
});
});
</script>