【发布时间】:2015-09-10 03:36:21
【问题描述】:
我正在更新我的Users 模型中的正则表达式,这似乎已经破坏了它。每当我尝试对 Users 模型执行任何操作时,都会收到以下错误消息:
提供的正则表达式使用多行锚(
^或$), 这可能会带来安全风险。您的意思是使用\A和\z,还是 忘记添加:multiline => true选项?
问题出现在电子邮件验证下。我的User 模型看起来像:
require 'digest'
class User < ActiveRecord::Base
validates :email, :format => { :with => /^[^@][\w.-]+@[\w.-]+[.][a-z]{2,4}$/i }, ...
...
end
【问题讨论】:
-
所以将
/^[^@][\w.-]+@[\w.-]+[.][a-z]{2,4}$/i替换为/\A[^@][\w.-]+@[\w.-]+[.][a-z]{2,4}\z/i。您需要验证整个字符串,对吗?
标签: ruby-on-rails ruby regex