我想問一下,如果有一種方法可以同時驗證字符串爲url或email嗎?在Ruby on Rails中驗證url格式
例如:
validates_format_of :string, :with => [url_regex, email_regex]
string = 'http://domain.com' => valid
string = '[email protected]' => valid
在此先感謝!
我想問一下,如果有一種方法可以同時驗證字符串爲url或email嗎?在Ruby on Rails中驗證url格式
例如:
validates_format_of :string, :with => [url_regex, email_regex]
string = 'http://domain.com' => valid
string = '[email protected]' => valid
在此先感謝!
根據Rails API,你不能在數組或其他東西中傳遞兩個正則表達式。解決方法是創建一個匹配URL和電子郵件地址的正則表達式,或者 - 如Naveed所示 - 創建一個自定義驗證。這就是說,我不認爲你可以使用正則表達式來驗證URL。
謝謝,但我想要的是檢查字符串是否是url或電子郵件 – 2012-02-16 07:08:20
在這種情況下,你將不得不創建一個匹配URL和電子郵件地址的正則表達式。你不能傳遞兩個正則表達式。 – Mischa 2012-02-16 07:11:42
感謝mischa和naveed。我想我必須創建我自己的驗證。我只是認爲validates_format_of是非常乾淨的。 – 2012-02-16 07:41:01
你需要你自己的validate方法,我不認爲rails驗證在這裏提供OR選項 – Naveed 2012-02-16 07:07:10