Sha256: 51fcdbc4a7f96501ac3ce70b71a16f98537fb17c9ea554d8822fc6ebe0b71004

Contents?: true

Size: 506 Bytes

Versions: 22

Compression:

Stored size: 506 Bytes

Contents

require 'ipaddress'

class IpAddressValidator < ActiveModel::EachValidator

  def initialize(options = {})
    super(options)
  end

  def validate_each(record, attribute, value)
    return if (value.nil? or value.empty?)

    begin
      if options[:cidr]
        IPAddress::IPv4.new(value)
      else
        raise unless IPAddress::valid_ipv4?(value)
      end
    rescue
      record.errors.add(attribute, options[:message] || "はIPアドレスとして正しくありません。")
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
bizside-2.3.10 validations/ip_address_validator.rb
bizside-3.0.7 validations/ip_address_validator.rb
bizside-3.0.6 validations/ip_address_validator.rb
bizside-3.0.5 validations/ip_address_validator.rb
bizside-3.0.4 validations/ip_address_validator.rb
bizside-2.3.9 validations/ip_address_validator.rb
bizside-3.0.3 validations/ip_address_validator.rb
bizside-2.3.8 validations/ip_address_validator.rb
bizside-3.0.2 validations/ip_address_validator.rb
bizside-3.0.1 validations/ip_address_validator.rb
bizside-3.0.0 validations/ip_address_validator.rb
bizside-2.3.7 validations/ip_address_validator.rb
bizside-2.3.6 validations/ip_address_validator.rb
bizside-2.3.5 validations/ip_address_validator.rb
bizside-2.3.4 validations/ip_address_validator.rb
bizside-2.3.3 validations/ip_address_validator.rb
bizside-2.3.2 validations/ip_address_validator.rb
bizside-2.3.1 validations/ip_address_validator.rb
bizside-2.3.0 validations/ip_address_validator.rb
bizside-2.2.3 validations/ip_address_validator.rb