- Passwords will contain at least 1 upper case letter
- Passwords will contain at least 1 lower case letter
- Passwords will contain at least 1 number or special character
- There is no length validation (min, max) in this regex!
Regular expression for JavaScript:
/((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/
with class validator, you can also pass in a custom error message is its not a strong password
@IsStrongPassword({}, { message: STRONG_PASSWORD })
password: string;
export const STRONG_PASSWORD =
'Your password must be at least 8 characters long, contain at least one number and have a mixture of uppercase and lowercase letters';