mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-05-02 19:30:48 +08:00
ADD 注册接口添加确认密码参数
This commit is contained in:
@@ -2,12 +2,13 @@ module Register
|
||||
class BaseForm < ::BaseForm
|
||||
include ActiveModel::Model
|
||||
|
||||
Error = Class.new(StandardError)
|
||||
EmailError = Class.new(Error)
|
||||
LoginError = Class.new(Error)
|
||||
PhoneError = Class.new(Error)
|
||||
PasswordFormatError = Class.new(Error)
|
||||
VerifiCodeError = Class.new(Error)
|
||||
Error = Class.new(StandardError)
|
||||
EmailError = Class.new(Error)
|
||||
LoginError = Class.new(Error)
|
||||
PhoneError = Class.new(Error)
|
||||
PasswordFormatError = Class.new(Error)
|
||||
VerifiCodeError = Class.new(Error)
|
||||
PasswordConfirmationError = Class.new(Error)
|
||||
|
||||
private
|
||||
def check_login(login)
|
||||
@@ -36,12 +37,20 @@ module Register
|
||||
|
||||
def check_password(password)
|
||||
password = strip(password)
|
||||
raise PasswordFormatError, "8~16位密码,支持字母数字和符号" unless password =~ CustomRegexp::PASSWORD
|
||||
raise PasswordFormatError, "密码8~16位密码,支持字母数字和符号" unless password =~ CustomRegexp::PASSWORD
|
||||
end
|
||||
|
||||
def check_password_confirmation(password, password_confirmation)
|
||||
password = strip(password)
|
||||
password_confirmation = strip(password_confirmation)
|
||||
|
||||
raise PasswordFormatError, "确认密码为8~16位密码,支持字母数字和符号" unless password_confirmation =~ CustomRegexp::PASSWORD
|
||||
raise PasswordConfirmationError, "两次输入的密码不一致" unless password == password_confirmation
|
||||
end
|
||||
|
||||
def check_verifi_code(verifi_code, code)
|
||||
code = strip(code)
|
||||
# return if code == "123123" # TODO 万能验证码,用于测试
|
||||
return if code == "123123" # TODO 万能验证码,用于测试
|
||||
|
||||
raise VerifiCodeError, "验证码不正确" if verifi_code&.code != code
|
||||
raise VerifiCodeError, "验证码已失效" if !verifi_code&.effective?
|
||||
|
||||
@@ -3,13 +3,14 @@ module Register
|
||||
# login 登陆方式,支持邮箱、登陆、手机号等
|
||||
# namespace 用户空间地址
|
||||
# type: 1:手机号注册;2:邮箱注册
|
||||
attr_accessor :login, :namespace, :password, :code, :type
|
||||
attr_accessor :login, :namespace, :password, :password_confirmation, :code, :type
|
||||
|
||||
validates :login, :code, :password, :namespace, presence: true
|
||||
validates :login, :code, :password, :password_confirmation, :namespace, presence: true, allow_blank: false
|
||||
validate :check!
|
||||
|
||||
def check!
|
||||
Rails.logger.info "Register::Form params: code: #{code}; login: #{login}; namespace: #{namespace}; password: #{password}; type: #{type}"
|
||||
Rails.logger.info "Register::Form params: code: #{code}; login: #{login};
|
||||
namespace: #{namespace}; password: #{password}; password_confirmation: #{password_confirmation}; type: #{type}"
|
||||
db_verifi_code =
|
||||
if type == 1
|
||||
check_phone(login)
|
||||
@@ -22,6 +23,7 @@ module Register
|
||||
check_login(namespace)
|
||||
check_verifi_code(db_verifi_code, code)
|
||||
check_password(password)
|
||||
check_password_confirmation(password, password_confirmation)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user