I'm working on form validation here form validation is not working what might be the issue. Can anyone suggest me.
class Registrationform {
constructor() {
this.initializeElements();
}
initializeElements () {
this.demoRegisterWrap = $('.demoRegister-wrap');
this.registrationForm = $('.registration-form');
this.username = '#username';
this.useremail= '#useremail';
this.userpassword = '#userpassword';
this.formValidation();
}
formValidation() {
let submitBtn = this.demoRegisterWrap.find('.submitBtn');
submitBtn.on('click', e => {
alert('test');
e.preventDefault();
alert('test');
var text = "";
if (UserName(this.username)) {
}
if (UserEmail(this.useremail)) {
}
if (UserPassword(this.userpassword)) {
}
return false;
});
/*Name input validation*/
function UserName(username) {
var message = document.getElementsByClassName("error-message");
var letters = /^[A-Za-z]+$/;
if ( username =="" || username.match(letters)) {
text="";
message[0].innerHTML = text;
return true;
}
else {
text="Name should contain only letters";
message[0].innerHTML = text;
return false;
}
}
/*email address input validation*/
function UserEmail(useremail) {
var message = document.getElementsByClassName("error-message");
var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
var atpos = useremail.indexOf("@");
var dotpos = useremail.lastIndexOf(".");
if ( useremail =="" || useremail.match(mailformat) || atpos > 1 && ( dotpos - atpos > 2 )) {
text="";
message[1].innerHTML = text;
return true;
}
else {
text="Wrong email format";
message[1].innerHTML = text;
return false;
}
}
/*validate password*/
function UserPassword(userpassword) {
var message = document.getElementsByClassName("error-message");
var illegalChars = /[\W_]/;
if (illegalChars.test(userpassword)) {
text="Password contains illegal characters";
message[2].innerHTML = text;
return false;
}
else if ( (userpassword.search(/[0-9]+/)==-1) ) {
text="Password should contain at least one number";
message[2].innerHTML = text;
return false;
}
else {
text="";
message[2].innerHTML = text;
return true;
}
}
}
}
new Registrationform();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="demoRegister-wrap">
<form class="registration-form" novalidate>
<fieldset>
<br/>
<input type="text" id="username" name="name" placeholder="Name" />
<p class="error-message"></p>
<input type="text" id="useremail" placeholder="Email" />
<p class="error-message"></p>
<input type="password" id="userpassword" pattern=".{8,}" title="8 characters minimum" />
<p class="error-message"></p>
<label for="submit"></label>
<input class="submitBtn" type="submit" value="submit" name="submit" />
</fieldset>
</form>
</div>