2015-07-19 64 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

相关问题