From 47b1d383487cb353d67b345c838c144986a0701d Mon Sep 17 00:00:00 2001 From: Aayush Karna <33031838+ayushkarn32@users.noreply.github.com> Date: Fri, 1 Oct 2021 22:10:14 +0545 Subject: [PATCH] created password validator --- validators/password.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 validators/password.js diff --git a/validators/password.js b/validators/password.js new file mode 100644 index 0000000..70923c1 --- /dev/null +++ b/validators/password.js @@ -0,0 +1,17 @@ +const dry = require('drytypes') + +module.exports = dry.makeDryType((x) => { + if (x.length==0) { + return { success: false, message: 'password cannot be set empty' } + } + if(x.length>30){ + return {success:false,message:'password length must be less than 30'} + } + let passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/; + if (!x.match(passwordRegex)) { + return { success: false, message: 'password must contain an uppercase letter , a lower case letter , a special character and a number' } + } + + return { success: true } + +}, 'Password')