9
目前通過表單上我的Rails應用程序添加一個網址,當我們有以下before_save
和validation
檢查:驗證過程中添加WWW網站的URL
def smart_add_url_protocol
if self.website?
unless self.website[/\Ahttp:\/\//] || self.website[/\Ahttps:\/\//]
self.website = "http://#{self.website}"
end
end
end
validates_format_of :website, :with => /^((http|https):\/\/)?[a-z0-9]+([-.]{1}[a-z0-9]+).[a-z]{2,5}(:[0-9]{1,5})?(\/.)?$/ix, :multiline => true
然而,這是什麼意思是,如果我鍵入到表單字段
testing.com
它告訴我,該網址是無效的,我不得不把在
www.testing.com
它接受的網址
我希望它接受url是否用戶輸入www或http。
我是否應該向smart_add_url_protocol添加其他內容以確保添加該內容,或者這是驗證問題?
由於
感謝 - 根據您的建議更改了代碼,但它仍然告訴我,該網站是無效的,沒有www部分。我是否也需要改變這一行的內容? validates_format_of:website,:with =>/^((http | https):\/\ /)?[a-z0-9] +([ - 。] {1} [a-z0-9] +)。[ az] {2,5}(:[0-9] {1,5})?(\ /。)?$/ix,:multiline => true – tessad
刪除此驗證。上面的代碼不需要它。 – dimakura