2010-06-08 169 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