2012-02-16 159 views
2

我想問一下,如果有一種方法可以同時驗證字符串爲url或email嗎?在Ruby on Rails中驗證url格式

例如:

validates_format_of :string, :with => [url_regex, email_regex] 

string = 'http://domain.com' => valid 
string = '[email protected]' => valid 

在此先感謝!

+0

你需要你自己的validate方法,我不認爲rails驗證在這裏提供OR選項 – Naveed 2012-02-16 07:07:10

回答

2

根據Rails API,你不能在數組或其他東西中傳遞兩個正則表達式。解決方法是創建一個匹配URL和電子郵件地址的正則表達式,或者 - 如Naveed所示 - 創建一個自定義驗證。這就是說,我不認爲你可以使用正則表達式來驗證URL。

+0

謝謝,但我想要的是檢查字符串是否是url或電子郵件 – 2012-02-16 07:08:20

+0

在這種情況下,你將不得不創建一個匹配URL和電子郵件地址的正則表達式。你不能傳遞兩個正則表達式。 – Mischa 2012-02-16 07:11:42

+0

感謝mischa和naveed。我想我必須創建我自己的驗證。我只是認爲validates_format_of是非常乾淨的。 – 2012-02-16 07:41:01