diff --git a/app/forms/base_form.rb b/app/forms/base_form.rb index be1c1e1a1..317ad0f6d 100644 --- a/app/forms/base_form.rb +++ b/app/forms/base_form.rb @@ -50,4 +50,10 @@ class BaseForm def strip(str) str.to_s.strip.presence end + + # 1 手机类型;0 邮箱类型 + # 注意新版的login是自动名生成的 + def phone_mail_type value + value =~ /^1\d{10}$/ ? 1 : 0 + end end diff --git a/app/forms/register/form.rb b/app/forms/register/form.rb index bad7a23e6..f0aa488f2 100644 --- a/app/forms/register/form.rb +++ b/app/forms/register/form.rb @@ -10,7 +10,8 @@ module Register def check! Rails.logger.info "Register::Form params: code: #{code}; login: #{login}; namespace: #{namespace}; password: #{password}; type: #{type}" - db_verifi_code = + type = phone_mail_type(strip(login)) + db_verifi_code = if type == 1 check_phone(login) VerificationCode.where(phone: login, code: code, code_type: 1).last