SORU
20 Temmuz 2013, CUMARTESİ


RoR 4 doğrulaması ile düzenli ifadeler

Aşağıdaki kodu var:

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: 'URL must point to GIT/JPG/PNG pictures'
  }
end

Çalışır, ama "bu mesaj yakalarım: . test" tırmık kullanarak test etmeye çalıştığımda

rake aborted!
The provided regular expression is using multiline anchors (^ or $), which may present a security risk. Did you mean to use \A and \z, or forgot to add the :multiline => true option?

Bu ne anlama geliyor? Bunu nasıl düzeltebilirim?

CEVAP
20 Temmuz 2013, CUMARTESİ


^ $ Start Hattı çapa Hattı ve Sonu vardır.

string = "abcde\nzzzz"
# => "abcde\nzzzz"
/^abcde$/ === string
# => true

\A \z çapa Dize Dize ve Sonunda Kalıcı bir Başlangıç olsa da.

/\Aabcde\z/ === string
# => false

Raylar sana, "seni ^ $ kullanmak için emin misin? \A \z yerine kullanmak istemiyor musun?"

Bu uyarı here oluşturan raylar güvenlik kaygısı daha var.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dylan Brenan

    Dylan Brenan

    22 Aralık 2009
  • hoorahjencar

    hoorahjencar

    6 HAZİRAN 2007
  • The Warp Zone

    The Warp Zon

    24 AĞUSTOS 2007