目標:密碼設置必須要含英文及數字的組合
validate :password_complexity
def password_complexity
if password.present?
if !password.match(/^(?=.*[a-zA-Z])(?=.*[0-9]))
errors.add :password, "Password complexity requirement not met"
end
end
end
拿掉位數限制,這部份 devise 本身就有 validation , 甚至必要時可以直接在 devise config 設定 password length
/^(?=.*[a-zA-Z])(?=.*[0-9])/
| |
| |
| |
| |
| 任意字符串后必须要有「数字」
|
任意字符串后必须要有「英文」
參考資源