diff --git a/src/public/javascript/validator.js b/src/public/javascript/validator.js index 504ad19d584d00e4e4ad8d21459de2a4ddcff579..4b26b7973cfa586ca48cf69b54000da6415918f1 100644 --- a/src/public/javascript/validator.js +++ b/src/public/javascript/validator.js @@ -27,6 +27,10 @@ const alphaNumericRegex = /^[a-zA-Z0-9]+$/; const alphaNumericSpaceRegex = /^[a-zA-Z0-9 ]+$/; +const oneDigit = /[0-9]/; +const oneLowercase = /[a-z]/; +const oneUppercase = /[A-Z]/; +const oneSpecial = /[*.!@#$%^&(){}]/; function validate(formName, listOfFieldAndValidator) { const form = document.forms[formName]; @@ -173,4 +177,39 @@ function videoCheck(videoFile, megaByteLimit) { validity: true, message: "", }; +} + +function passwordCheck(password) { + if(!password.match(oneDigit)) { + console.log("Masuk one digit"); + return { + validity: false, + message: "Password must have at least a single digit!", + }; + } + else if(!password.match(oneLowercase)) { + console.log("Masuk one lowercase"); + return { + validity: false, + message: "Password must have at least a lowercase character!", + }; + } + else if(!password.match(oneUppercase)) { + console.log("Masuk one uppercase"); + return { + validity: false, + message: "Password must have at least an uppercase character!", + }; + } + else if(!password.match(oneSpecial)) { + console.log("Masuk one special"); + return { + validity: false, + message: "Password must have at least one of these characters *.!@#$%^&(){} !", + }; + } + else { + console.log("Sukses"); + return { validity: true, message: `` }; + } } \ No newline at end of file diff --git a/src/signup/index.php b/src/signup/index.php index d1041ff4cfe816de4dac747b44c098135306580e..39a33a3ed31ab85cb1b4d8fbb81e2e6ac12f4c00 100644 --- a/src/signup/index.php +++ b/src/signup/index.php @@ -90,7 +90,7 @@ session_start(); }, { fieldName: "password", - validatorFunction: (password) => lengthCheck('password', password, 6, 50) + validatorFunction: (password) => lengthCheck('password', password, 6, 50) && passwordCheck(password) } ] )