【问题标题】:Custom URL validation method in Rails 3.2Rails 3.2 中的自定义 URL 验证方法
【发布时间】:2012-09-04 04:10:17
【问题描述】:

我怎样才能让它工作?使用 !!URI.parse(url) 或 self.url ?

class Idea < ActiveRecord::Base
  attr_accessible :body, :url
  validates :body, presence: true, :length => { :in => 6..240 }
  validates :body, uniqueness: true
  validates :url, presence: true
  validate :good_url
  require 'uri'
  def good_url
    errors.add(:url, 'not valid') unless URI.parse(url)
  end
end

【问题讨论】:

标签: ruby-on-rails ruby-on-rails-3 uri ruby-on-rails-3.2


【解决方案1】:

如果你只是想让它工作,那么如何:

errors.add(:url, 'not valid') if (url =~ URI::regexp).nil?

但是如果解析 url 对您很重要,您可能需要考虑替代 ruby​​ 的标准 URI 实现,例如 addressable,它可以处理 UTF-8 字符、规范化和其他可能很重要的边缘情况,具体取决于上下文.

另请参阅:check if url is valid ruby

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多