【问题标题】:Validation error. What's wrong here?验证错误。这里有什么问题?
【发布时间】:2014-02-10 10:07:53
【问题描述】:

这是我的代码:

class Product < ActiveRecord::Base
    validates :title, :description, :image_url, presence: true
    validates :price, numericality: {greater_than_or_equal_to: 0.01}
    validates :title, uniqueness: true
    validates :image_url, allow_blank: true, format: {
        with:   %r{\.(gif|jpg|png)$}i,
        message: 'must be a URL for GIF, JPG, or PNG image.'
}
end

这是我收到的错误:

提供的正则表达式使用多行锚(^ 或 $),这可能会带来安全风险。您是要使用 \A 和 \z,还是忘记添加 :multiline => true 选项?

显然错误存在于第 5 行。

我对 Rails 非常陌生。这是我的第一天,事实上。有什么问题,我该如何解决?感谢您的宝贵时间。

【问题讨论】:

  • 答案在您的错误信息中:在with: ... 中使用\z 而不是$

标签: ruby-on-rails


【解决方案1】:

我遇到了同样的问题。研究书中的例子。 这是对我有用的代码:

class Product < ActiveRecord::Base
    validates :title, :description, :image_url, presence: true
    validates :title, uniqueness: true
    validates :price, numericality: {greater_than_or_equal_to: 0.01}
    validates :image_url, allow_blank: true, format:{
        with: %r{\.(gif|jpg|png)\Z}i,
        message: 'must be a URL for GIF, JPG or PNG image.'
    }
end

【讨论】:

    猜你喜欢
    • 2022-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多