我正在关注官方文档以创建一个简单的自定义验证,以检查电子邮件地址的格式是否正确。
在应用程序 lib 文件夹中,我创建了名为email_format_validator.rb的文件,其中包含以下代码:
class EmailFormatValidator < ActiveModel::EachValidator
def validate_each(object, attribute, value)
unless value =~ /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i
object.errors[attribute] << (options[:message] || "is not formatted properly")
end
end
end
在我的模型中,我进行了以下检查:
validates :email, presence: true, email_format: true
如果我评论email_format: true部分,则视图是可访问的,否则,将在该行生成错误,因为它显示在下面的屏幕截图中: