2010-06-08 167 views
-2

1)Url字段也应该接受URL为“www.abc.com”。如果用户输入url,应该自动附加“http://”,导致数据库中保存的值为“http://www.abc.com”。如果用户输入url为“http://www.xyz.com”,系统不应该添加“http://”。用户应该能够使用“https://”保存网址。它在轨道上的红宝石代码是什么?轨道上的红宝石URL验证

+0

措辞不当问题,对搜索没有帮助。 – 2011-05-01 04:05:47

+0

我请你原谅,但这是非常有用的问题 – vsync 2011-11-17 15:11:31

回答

0

不是一个很好的方式来寻求援助,这就是为什么我怀疑你被投票过两次!

我建议你先看before_validation,validates_format_of和正则表达式。看看你如何继续使用它们,并且如果你遇到困难,也许会发布任何更新。

PS:

前面加上= “要重视数据的开始” 追加= “要附加到数据的结束”

1

此代码工作:

def validate 
    if !self.external_url.blank? && self.external_url != "external url" 
    if self.external_url.match(/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$/ix).nil? 
     if self.external_url.match(/^[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$/ix).nil? 
     self.errors.add :base, 'External url is invalid' #message is changed by Hemant 
     else 
     self.external_url = "http://"+self.external_url 
     end 
    end 
    end 
end