PWEB A - Tugas 4 - Membuat Form Validation Menggunakan JQuery

 Tugas 4 - Membuat Form Validation Menggunakan JQuery

11 Oktober 2022

Pada tugas 5 ini kita dimina membuat form validation dengan menggunakan bantuan JQuery untuk memvalidasi setiap inputan user. 
Adapun beberapa form validation yang dibuat adalah sebagai berikut:
  • Semua field inputan harus diisi (required).
  • Inputan UMUR diisi dengan angka antara 0-100.
  • Inputan ALAMAT EMAIL diisi dengan format penulisan email.
  • Inputan ALAMAT SITUS diisi dengan format penulisan situs.
  • Inputan PASSWORD dan ULANGI PASSWORD harus sama.
  • Inputan TANGGAL LAHIR diisi dengan format DD/MM/YYYY.
  • Inputan NIM hanya boleh diisi 10 digit angka (tidak boleh diisi huruf).

Screenshoot


Source Code

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="style.css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.5/jquery.validate.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/additional-methods.min.js"></script>
<title>JQUERY | Form Validation</title>
<script type="text/javascript">
$(document).ready(function () {
$("#frm-mhs").validate({
rules: {
nim: {
digits: true,
minlength: 10,
maxlength: 10,
},
tgl: {
indonesianDate: true,
},
umur: {
digits: true,
range: [0, 100],
},
email: {
email: true,
},
situs: {
url: true,
},
pass2: {
equalTo: "#pass1",
},
},
messages: {
nim: {
required: "Kolom nim harus diisi",
minlength: "Kolom nim harus terdiri dari 10 digit",
maxlength: "Kolom nim harus terdiri dari 10 digit",
},
email: {
required: "Alamat email harus diisi",
email: "Format email tidak valid",
},
pass2: {
equalTo: "Password tidak sama",
},
},
});
});
$.validator.addMethod(
"indonesianDate",
function (value, element) {
// put your own logic here, this is just a (crappy) example
return value.match(/^\d\d?\/\d\d?\/\d\d\d\d$/);
},
"Please enter a date in the format DD/MM/YYYY"
);
</script>
</head>
<body>
<main>
<h1>Input Data Mahasiswa</h1>
<form method="get" id="frm-mhs">
<label for="nim" class="labelfrm">NIM: </label>
<input type="text" name="nim" id="nim" maxlength="10" size="15" class="required" />
<label for="nama" class="labelfrm">NAMA: </label>
<input type="text" name="nama" id="nama" size="30" class="required" />
<label for="alamat" class="labelfrm">ALAMAT: </label>
<textarea name="alamat" id="alamat" cols="40" rows="4" class="required"></textarea>
<label for="tgl" class="labelfrm">TANGGAL LAHIR: </label>
<input type="text" name="tgl" id="tgl" maxlength="10" size="15" class="required" />
<label for="umur" class="labelfrm">UMUR: </label>
<input type="text" name="umur" id="umur" maxlength="3" size="7" class="required" />
<label for="email" class="labelfrm">ALAMAT EMAIL: </label>
<input type="text" name="email" id="email" size="50" class="required" />
<label for="situs" class="labelfrm">ALAMAT SITUS: </label>
<input type="text" name="situs" id="situs" size="50" class="required" />
<label for="pass1" class="labelfrm">PASSWORD: </label>
<input type="password" name="pass1" id="pass1" size="15" class="required" />
<label for="pass2" class="labelfrm">ULANGI PASSWORD: </label>
<input type="password" name="pass2" id="pass2" size="15" class="required" />
<label for="submit" class="labelfrm">&nbsp;</label>
<input type="submit" name="Submit" value="Submit" class="required" />
</form>
</main>
</body>
</html>
view raw index.html hosted with ❤ by GitHub
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap");
*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
scroll-behavior: smooth;
}
body {
font-family: "Poppins", sans-serif;
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
main {
width: 90%;
background-color: lightblue;
padding: 24px;
font-size: 16px;
border-radius: 12px;
box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}
h1 {
font-size: 24px;
text-align: center;
}
.labelfrm {
display: flex;
font-size: small;
margin-top: 5px;
}
/* .wrapper {
margin-bottom: 18px;
} */
input,
textarea {
width: 100%;
padding: 2px 6px;
border-radius: 6px;
outline: none;
border: 2px solid white;
}
input:focus,
input:hover,
textarea:focus,
textarea:hover {
border: 2px solid skyblue;
}
input[type="submit"] {
width: fit-content;
padding: 2px 18px;
}
input[type="submit"]:hover {
background-color: skyblue;
}
.error {
font-size: small;
color: red;
}
@media only screen and (min-width: 480px) {
main {
width: 60%;
}
}
@media only screen and (min-width: 1024px) {
main {
width: 35%;
}
}
view raw style.css hosted with ❤ by GitHub


Sumber :


Nama : Arief Badrus Sholeh

NRP : 5025201228

Kelas : Pemrograman Web A

Tahun : 2022/2023


Komentar