我正在Rails中使用以下工具进行邮箱验证:

validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i

此外,我在前端进行HTML5验证,但邮箱地址

..abc@gmail.com
.abc@gmail.com

仍然有效.我错过了什么?

推荐答案

我使用标准ruby库中内置的URI常量

validates :email, format: { with: URI::MailTo::EMAIL_REGEXP } 

Ruby-on-rails相关问答推荐

如何在rails 7中禁用Simple_Form验证

Rails7--如何使用内联代码仅为操作运行BEFORE操作

Rails 6:强类型原始 SQL 查询返回数组类型

计算总价(商品数量*商品价格)

如何在 Arel 中重用单个绑定变量?

Rspec:测试实例变量的赋值

rails, activerecord, 获取当前连接规范

在 Rails 中将毫秒转换为格式化日期

使用 RVM 时如何安装 Ruby gem?

为什么使用 HTTP PUT 和 DELETE 方法而不是 POST?

Rails 模型:您将如何创建一组预定义的属性?

在 Rails 中将表格行变成链接

带有查询字符串参数的 Rails 动作缓存

如何在Ruby 中对数字进行上限和舍入

Rails Devise:设置密码重置令牌并重定向用户

Rails:如何修复‘生产’环境缺少 secret_key_base

Heroku - 在浏览器中显示当前提交的哈希

向 Rails 模型添加外键

find、where 和 find_by_id 有什么区别?

没有路由匹配缺少必需的键:[:id]