2015-07-19 50 views
0

如果提交的image_url以.gif,.jpg或.png結尾,則應驗證以下代碼。但是,我不確定我瞭解這段代碼"%r{\.(gif|jpg|png)\Z}i"如何驗證格式。如何在Rails中驗證URL必須是.gif,.jpg或.png?

# Sample Code: 
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)\Z}i, message: 'must be a URL for GIF, JPG or PNG image.' 
    } 
end 

回答

0

首先這應該改變

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.' } 

我認爲,如果你的形象是字段,你應該這樣做

validates :image, allow_blank: true, format: { with: %r{.(gif|jpg|png)\Z}i, message: 'must be a URL for GIF, JPG or PNG image.' } 

如果是圖片網址。那麼你是絕對正確的。

它是這樣工作的,它檢查文件的結尾(格式)是gif,jpg還是png。它不會工作,如果你的文件沒有這些擴展名。

請點擊此鏈接,請:

Rails how to validate file format?

+0

只是爲了告訴你我沒有測試你的正則表達式這驗證文件。希望它是正確的。鏈接有正則表達式。你可以善用它 – Athar

相關問題