Sha256: 53709f0dad5edada118160ea7dd1b6a5d9cff996ae9fab8bc3ca941210b82c0a
Contents?: true
Size: 524 Bytes
Versions: 26
Compression:
Stored size: 524 Bytes
Contents
module Spree class UrlValidator < ActiveModel::EachValidator def validate_each(record, attribute, value) unless url_valid?(value) record.errors.add(attribute, (options[:message] || ERROR_MESSAGE)) end end private ERROR_MESSAGE = 'must be a valid URL' private_constant :ERROR_MESSAGE def url_valid?(url) uri = begin URI.parse(url) rescue URI::InvalidURIError return false end uri.host.present? && uri.is_a?(URI::HTTP) end end end
Version data entries
26 entries across 26 versions & 1 rubygems