SO - 15522608
by Arun P Johny
HTML
<form id="signupForm">
<input id="email"/><span id="invalid"></span>
<br />
<input type="submit" value="Test" />
</form>
JavaScript
$(document).ready(function() {
// global vars
var form = $("#signupForm");
var email = $("#email");
var email_error = $("#invalid");
// On blur
// userEmail.blur(validateEmail);
// On Submitting
form.submit(function() {
validateEmail().done(function() {
console.log("submit true");
form[0].submit();
}).fail(function() {
console.log("submit false");
});
return false;
});
function validateEmail() {
var deferred = jQuery.Deferred()
// if it's NOT valid
console.log("In email");
var a = $("#email").val();
var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
if (email.val() == "") {
email_error.html("Please enter your email ");
deferred.reject();
}
// if it's valid email
else if (filter.test(a) == false) {
email_error.html("Please enter Valid email address");
deferred.reject();
} else if (filter.test(a) == true) {
console.log("elseif");
var baseUrl = '<?= base_url() ?>';
setTimeout(function() {
deferred.resolve();
}, 200);
}
else {
email_error.html(" ");
deferred.resolve();
}
return deferred.promise();
}
});