Project Phase 1 (PART C) FORM VALIDATION
CLIENT SIDE VALIDATION FORM
A FIELD CAN BE DECLARED required TO INDICATE THAT IT HAS TO BE COMPULSORLY FILLED.
<input
name="listing[title]"
type="text"
placeholder="Enter title"
class="form-control"
required
/>
HERE THE MESSAGE SHOWN DIFFERS WITH DIFFERENT BROWSER. TO IMPLEMENT A STANDARDIZED MESSAGE WHILE OPERATING ON DIFFERENT BROWSERS WE USE BOOTSTRAP.
WE DECLARE IT AS novalidate INORDER TO OVERCOME THE DEFAULT IMPLEMENTATION OF THE BROWSER.
WE SET class="needs validation"
THE LOGIC IS COPIED FROM THE BOOTSTRAP WEBSITE TO A SCRIPT.JS FILE AND ITS PATH IS COPIED IN THE SCRIPT TAG.
SCRIPT.JS
(() => {
"use strict";
// Fetch all the forms we want to apply custom Bootstrap validation styles to
const forms = document.querySelectorAll(".needs-validation");
// Loop over them and prevent submission
Array.from(forms).forEach((form) => {
form.addEventListener(
"submit",
(event) => {
if (!form.checkValidity()) {
event.preventDefault();
event.stopPropagation();
}
form.classList.add("was-validated");
},
false
);
});
})();
IN BOILERPLATE.EJS
ADD SCRIPT TAG
<script src="/js/script.js"></script>
IN NEW.EJS
in the FORM ADD novalidate AND class="needs-validation"
<form
method="POST"
action="/listings"
class="needs-validation"
novalidate
>


Comments
Post a Comment