Rails 3:IP文字列を検証する



Rails 3 Validate Ip String



解決:

独自のパターンを作成する代わりに、ビルドを1つで使用できることを追加したかっただけです。Resolv :: IPv4 :: Regex

require'resolv 'は:gateway、:presence => true、:uniqueness => true、:format => {:with => Resolv :: IPv4 :: Regex}を検証します 

Rails3でActiveRecordを使用して検証するRailsの方法は次のとおりです。



@ip_regex = / ^([1-9] | [1-9] [0-9] | 1 [0-9] [0-9] | 2 [0-4] [0-9] | 25 [0 -5])(。([0-9] | [1-9] [0-9] | 1 [0-9] [0-9] | 2 [0-4] [0-9] | 25 [0-5])){3} $ /は:gateway、:presence => true、:uniqueness => true、:format => {:with => @ ip_regex}を検証します

ここに良いリソース:Wayback Archive-Ruby On Rails3または正規表現なしのアクティブモデルでの電子メール検証


標準のライブラリを呼び出すこともできます解析するIPAddr.new サブネットIPV6 およびその他のクールなもの:(IPAddr)およびreturnフォーマットが間違っていた場合はnil。



ただしてください:

有効=!(IPAddr.new( '192.168.2.0/24')レスキューnil).nil? #=> true valid =!(IPAddr.new( '192.168.2.256')rescue nil).nil? #=> false