Javascript ,HTML,CSS Code : Validation of Fields

 <!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>JavaScript Form validation</title>

  <style>

    

    body {

    font-size: 16px;

    background: #f9f9f9;

    font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;

}

h2 {

    text-align: center;

    text-decoration: underline;

}

form {

    width: 300px;

    background: #fff;

    padding: 15px 40px 40px;

    border: 1px solid #ccc;

    margin: 50px auto 0;

    border-radius: 5px;

}

label {

    display: block;

    margin-bottom: 5px

}

label i {

    color: #999;

    font-size: 80%;

}

input, select {

    border: 1px solid #ccc;

    padding: 10px;

    display: block;

    width: 100%;

    box-sizing: border-box;

    border-radius: 2px;

}

.row {

    padding-bottom: 10px;

}

.form-inline {

    border: 1px solid #ccc;

    padding: 8px 10px 4px;

    border-radius: 2px;

}

.form-inline label, .form-inline input {

    display: inline-block;

    width: auto;

    padding-right: 15px;

}

.error {

    color: red;

    font-size: 90%;

}

input[type="submit"] {

    font-size: 110%;

    font-weight: 100;

    background: #006dcc;

    border-color: #016BC1;

    box-shadow: 0 3px 0 #0165b6;

    color: #fff;

    margin-top: 10px;

    cursor: pointer;

}

input[type="submit"]:hover {

    background: #0165b6;

}

    

  </style>

<script>

// Defining a function to display error message

function printError(elemId, hintMsg) {

    document.getElementById(elemId).innerHTML = hintMsg;

}


// Defining a function to validate form 

function validateForm() {

    // Retrieving the values of form elements 

    var name = document.contactForm.name.value;

    var email = document.contactForm.email.value;

    var mobile = document.contactForm.mobile.value;

    var country = document.contactForm.country.value;

    var gender = document.contactForm.gender.value;

    var hobbies = [];

    var checkboxes = document.getElementsByName("hobbies[]");

    for(var i=0; i < checkboxes.length; i++) {

        if(checkboxes[i].checked) {

            // Populate hobbies array with selected values

            hobbies.push(checkboxes[i].value);

        }

    }

    

// Defining error variables with a default value

    var nameErr = emailErr = mobileErr = countryErr = genderErr = true;

    

    // Validate name

    if(name == "") {

        printError("nameErr", "Please enter your name");

    } else {

        var regex = /^[a-zA-Z\s]+$/;                

        if(regex.test(name) === false) {

            printError("nameErr", "Please enter a valid name");

        } else {

            printError("nameErr", "");

            nameErr = false;

        }

    }

    

    // Validate email address

    if(email == "") {

        printError("emailErr", "Please enter your email address");

    } else {

        // Regular expression for basic email validation

        var regex = /^\S+@\S+\.\S+$/;

        if(regex.test(email) === false) {

            printError("emailErr", "Please enter a valid email address");

        } else{

            printError("emailErr", "");

            emailErr = false;

        }

    }

    

    // Validate mobile number

    if(mobile == "") {

        printError("mobileErr", "Please enter your mobile number");

    } else {

        var regex = /^[1-9]\d{9}$/;

        if(regex.test(mobile) === false) {

            printError("mobileErr", "Please enter a valid 10 digit mobile number");

        } else{

            printError("mobileErr", "");

            mobileErr = false;

        }

    }

    

    // Validate country

    if(country == "Select") {

        printError("countryErr", "Please select your country");

    } else {

        printError("countryErr", "");

        countryErr = false;

    }

    

    // Validate gender

    if(gender == "") {

        printError("genderErr", "Please select your gender");

    } else {

        printError("genderErr", "");

        genderErr = false;

    }

    

    // Prevent the form from being submitted if there are any errors

    if((nameErr || emailErr || mobileErr || countryErr || genderErr) == true) {

       return false;

    } else {

        // Creating a string from input data for preview

        var dataPreview = "You've entered the following details: \n" +

                          "Full Name: " + name + "\n" +

                          "Email Address: " + email + "\n" +

                          "Mobile Number: " + mobile + "\n" +

                          "Country: " + country + "\n" +

                          "Gender: " + gender + "\n";

        if(hobbies.length) {

            dataPreview += "Hobbies: " + hobbies.join(", ");

        }

        // Display input data in a dialog box before submitting the form

        alert(dataPreview);

    }

};

</script>

</head>

<body>

<form name="contactForm" onsubmit="return validateForm()"  method="post">

    <h2>Application Form</h2>

    <div class="row">

        <label>Full Name</label>

        <input type="text" name="name">

        <div class="error" id="nameErr"></div>

    </div>

    <div class="row">

        <label>Email Address</label>

        <input type="text" name="email">

        <div class="error" id="emailErr"></div>

    </div>

    <div class="row">

        <label>Mobile Number</label>

        <input type="text" name="mobile" maxlength="10">

        <div class="error" id="mobileErr"></div>

    </div>

    <div class="row">

        <label>Country</label>

        <select name="country">

            <option>Select</option>

            <option>Australia</option>

            <option>India</option>

            <option>United States</option>

            <option>United Kingdom</option>

        </select>

        <div class="error" id="countryErr"></div>

    </div>

    <div class="row">

        <label>Gender</label>

        <div class="form-inline">

            <label><input type="radio" name="gender" value="male"> Male</label>

            <label><input type="radio" name="gender" value="female"> Female</label>

        </div>

        <div class="error" id="genderErr"></div>

    </div>

    <div class="row">

        <label>Hobbies <i>(Optional)</i></label>

        <div class="form-inline">

            <label><input type="checkbox" name="hobbies[]" value="sports"> Sports</label>

            <label><input type="checkbox" name="hobbies[]" value="movies"> Movies</label>

            <label><input type="checkbox" name="hobbies[]" value="music"> Music</label>

        </div>

    </div>

    <div class="row">

        <input type="submit" value="Submit">

    </div>

</form>

</body>

</html>

JavaScript Form validation

Application Form

Comments

Popular posts from this blog

Javascript Code using getElementById and If Else Statement

Javascript switch case with Input Characters

Change Background Color using onkeydown keyboard event