gpt4 book ai didi

ruby-on-rails - Ruby on Rails 3,多个域的电子邮件验证?

转载 作者:太空宇宙 更新时间:2023-11-03 16:37:35 24 4
gpt4 key购买 nike

大家好,我遇到了一个问题。有没有办法拥有两种可接受的电子邮件格式?

您知道,我正在构建的网站需要让用户注册到某个域,并且学生和教职员工共享不同的域。例如:name@mail.domain.ac.uk 和 name@domain.ac.uk。我希望导师和学生能够注册。到目前为止我已经试过了:

EMAIL_STAFF_REGEX = /\A[\w+\-.]+@mail.domain.ac.uk/i
email_regex = /\A[\w+\-.]+@domain.ac.uk/i

validates :email, :presence => true,
:format => { :with => email_regex,
:with => EMAIL_STAFF_REGEX},}

如果有任何帮助,我将不胜感激。

最佳答案

我假设您正在拆分正则表达式,因为您希望稍后能够使用正则表达式来判断他们是导师还是学生。

尝试

tutor_subdomain = mail
EMAIL_REGEX = /\A[\w+-.]+@(:?#{tutor_domain}.)?domain.ac.uk/i
TUTOR_REGEX = /\A[\w+-.]+@#{tutor_domain}.domain.ac.uk/i

def tutor?
email =~ TUTOR_REGEX
end

我建议将 tutor 列设为一个实际字段,这样您就可以对其进行查询,然后使用验证来确保电子邮件匹配相同的格式。

validates:email, :format => {:with => STUDENT_REGEX}
validates:email, :format => {:with => TUTOR_REGEX}, :if => :tutor?

关于ruby-on-rails - Ruby on Rails 3,多个域的电子邮件验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5534487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com