Professional Documents
Culture Documents
Form Validation
Form Validation
Code :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"
/>
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Login Form</title>
<style>
* {
margin: 0;
padding: 0;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body {
height: 100%;
}
.text-center {
text-align: center;
padding-top: 1rem;
}
.container {
width: 85%;
height: 100%;
margin: 4em auto;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: stretch;
-ms-flex-align: stretch;
align-items: stretch;
position: relative;
border: 0.5px grey solid;
}
#form .validation-fail {
font-size: 0.6rem;
margin: 0 0 0.2rem 0;
color: red;
}
#form .validation-pass {
display: none;
}
.container .left-div {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
height: 100%;
width: 50%;
}
.container .left-div h1 {
margin: 1.5em;
color: #000000;
}
.container .btw-circle {
position: absolute;
background-color: #f7f306;
color: rgb(28, 218, 22);
border-radius: 50%;
padding: 0.4em;
left: 50%;
top: 50%;
border: black 0.4px solid;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.container .right-div {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
width: 50%;
background-image: url("background.jpg");
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.container .right-div h1 {
text-align: center;
margin: 0.5em 0.5em;
color: white;
}
.social-btn {
cursor: pointer;
}
<script>
const Form = document.getElementById("form");
function CheckUsername() {
const userName = Form.getElementsByClassName("username")[0].value;
const userNameErrorBlock = Form.getElementsByClassName(
"username-validation"
)[0];
if (userName.length < 4 || userName.length > 16) {
userNameErrorBlock.classList.remove("validation-pass");
userNameErrorBlock.classList.add("validation-fail");
} else {
userNameErrorBlock.classList.remove("validation-fail");
userNameErrorBlock.classList.add("validation-pass");
}
}
function validateEmail(email) {
const re =
/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]
{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{
2,}))$/;
return re.test(email);
}
function CheckEmail() {
const Email = Form.getElementsByClassName("email")[0].value;
const EmailErrorBlock =
Form.getElementsByClassName("email-validation")[0];
if (!validateEmail(Email)) {
EmailErrorBlock.classList.remove("validation-pass");
EmailErrorBlock.classList.add("validation-fail");
} else {
EmailErrorBlock.classList.remove("validation-fail");
EmailErrorBlock.classList.add("validation-pass");
}
}
function CheckPassword() {
const pass = Form.getElementsByClassName("password")[0].value;
const passErrorBlock =
Form.getElementsByClassName("pass1-validation")[0];
if (pass.length < 6) {
passErrorBlock.classList.remove("validation-pass");
passErrorBlock.classList.add("validation-fail");
} else {
passErrorBlock.classList.remove("validation-fail");
passErrorBlock.classList.add("validation-pass");
}
}
function CheckPasswordMatch() {
const pass1 = Form.getElementsByClassName("password")[0].value;
const pass2 = Form.getElementsByClassName("password")[1].value;
const passErrorBlock =
Form.getElementsByClassName("pass2-validation")[0];
if (pass1 !== pass2) {
passErrorBlock.classList.remove("validation-pass");
passErrorBlock.classList.add("validation-fail");
} else {
passErrorBlock.classList.remove("validation-fail");
passErrorBlock.classList.add("validation-pass");
}
}
const validationFxns = [
CheckUsername,
CheckEmail,
CheckPassword,
CheckPasswordMatch,
];
function RunAllValidation() {
for (let fxn of validationFxns) {
fxn();
}
}
</script>
</body>
</html>
Output :