1

現在、ユーザーのFacebookリンクを検証する正規表現があります。

facebook_regex = /(http:\/\/)?(https:\/\/)?(www.)?facebook.com\/[a-zA-Z0-9\.]*/i
validates :facebook, :format => { :with => facebook_regex }

正規表現自体は問題なく機能しますが、ユーザーが投稿したくない場合に備えて、FBリンクを含めることをオプションにしようとしています。ただし、Facebookフィールドを空白のままにすると、検証でエラーが発生します。

これを処理するための最良の方法は何ですか?

4

3 に答える 3

4

allow_blank: true検証に追加してみてください:

validates :facebook, :format => { :with => facebook_regex }, :allow_blank => true

次の場合を除き、追加することもできます。

validates :facebook, :format => { :with => facebook_regex }, :unless => :blank?
于 2012-07-17T21:01:53.933 に答える
0

allow_blankあなたが探しているオプションです:

validates :facebook, format: { with: facebook_regex , allow_blank: true}

于 2012-07-17T21:02:17.223 に答える
0

実際、私はここで答えを見つけました: http://guides.rubyonrails.org/active_record_validations_callbacks.html

:allow_blank というオプションを渡すことができることがわかりました。これはまさに私が望んでいたことです!

于 2012-07-17T21:02:24.553 に答える