2012-02-16 12 views
2

文字列をURLまたは電子メールとして同時に検証する方法があるかどうか尋ねますか?例えばRuby on RailsでURLフォーマットを検証する

:事前に

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

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

感謝!

+0

あなたは自分のバリデーションメソッドが必要ですが、私はレールのバリデーションでORオプションを提供していないと思っています – Naveed

答えて

2

Rails APIによると、2つの正規表現を1つの配列などに渡すことはできません。解決策は、URLと電子メールアドレスの両方に一致する正規表現を作成することです。つまり、Naveedが示唆するように、カスタム検証を作成します。つまり、私はあなたが正規表現でURLを検証することはできないと思います。

+0

ありがとうございましたが、私が望んでいたのは、文字列が同時にURLか電子メールかどうかを確認することでした –

+0

その場合、 URLと電子メールアドレスの両方に一致する正規表現を作成します。 2つの正規表現を渡すことはできません。 – Mischa

+0

は感謝しています。結局のところ私自身の検証を作成しなければならないと思う。私はちょうどvalidates_format_ofが非常にきれいだと思う。 –

関連する問題