Try It Editor
Tip: Press
Ctrl/⌘ + Enter
to Run
▶ Run
Reset
Copy
Download
Code
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Custom jQuery Validation</title> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <style> .error{color:#c62828;font-size:13px;margin-top:4px;} .ok{border:1px solid #2e7d32;} .bad{border:1px solid #c62828;} </style> </head> <body> <form id="f" novalidate> <div> <label>Name</label><br> <input id="name" name="name" maxlength="20"> <div id="e_name" class="error"></div> </div> <div> <label>Password</label><br> <input id="pwd" name="pwd" type="password"> <div id="e_pwd" class="error"></div> </div> <button type="submit">Register</button> </form> <script> function validate(){ var ok = true; var name = $("#name").val().trim(); var pwd = $("#pwd").val(); $("#e_name, #e_pwd").text(""); $("#name, #pwd").removeClass("ok bad"); if(name.length < 3){ $("#e_name").text("Name must be 3+ chars"); $("#name").addClass("bad"); ok=false; } else { $("#name").addClass("ok"); } if(pwd.length < 6){ $("#e_pwd").text("Password must be 6+ chars"); $("#pwd").addClass("bad"); ok=false; } else { $("#pwd").addClass("ok"); } return ok; } $("#name, #pwd").on("input", validate); $("#f").on("submit", function(e){ if(!validate()){ e.preventDefault(); } }); </script> </body> </html>
Output