From 99555947ce5e71e629d93bd18ef0bfd7ccfbe654 Mon Sep 17 00:00:00 2001 From: ezn Date: Fri, 21 Jul 2023 17:21:15 +0100 Subject: [PATCH] Add 'js/validation.js' --- js/validation.js | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 js/validation.js diff --git a/js/validation.js b/js/validation.js new file mode 100644 index 0000000..521962a --- /dev/null +++ b/js/validation.js @@ -0,0 +1,47 @@ +const validation = new JustValidate("#signup"); + +validation + .addField("#name", [ + { + rule: "required" + } + ]) + .addField("#email", [ + { + rule: "required" + }, + { + rule: "email" + }, + { + validator: (value) => () => { + return fetch("validate-email.php?email=" + encodeURIComponent(value)) + .then(function(response) { + return response.json(); + }) + .then(function(json) { + return json.available; + }); + }, + errorMessage: "email already taken" + } + ]) + .addField("#password", [ + { + rule: "required" + }, + { + rule: "password" + } + ]) + .addField("#password_confirmation", [ + { + validator: (value, fields) => { + return value === fields["#password"].elem.value; + }, + errorMessage: "Passwords should match" + } + ]) + .onSuccess((event) => { + document.getElementById("signup").submit(); + });