【发布时间】:2019-10-15 01:14:15
【问题描述】:
我有 2 个变量“email”和“umail”。 umail 属于用户模型,电子邮件属于其他模型。我想验证 umail,哪些内容不应该与电子邮件相同。例如如果 umail:“abcd@xxx.com”和电子邮件:“abcd@xxx.com”,则不应保存 umail,并应显示错误消息。
我尝试编写设计验证“排除”之类的
validates :subdomain, exclusion: { in: User.current.email,
message: "%{value} is not allowed to use }
end
但是没有成功,所以我尝试了:
class Tecdb < ApplicationRecord
validates :umail, presence: true, if: :umail_not_allowed
def umail_not_allowed
errors.add( umail: "is not allowed to use" ) if :umail == User.current.email
end
但也没有成功(也就是说,即使 umail 和 email 一样,umail 也被保存了,没有显示任何错误信息)。
谁能告诉我这种验证的最佳写作方式是什么?
【问题讨论】:
标签: ruby-on-rails validation devise