首页
/ Validates URL 项目技术文档

Validates URL 项目技术文档

2024-12-20 17:30:30作者:裴麒琰

1. 安装指南

要将 Validates URL 集成到您的项目中,您可以通过以下两种方式之一进行安装:

通过 Gemfile 安装

在您的 Gemfile 文件中添加以下代码:

gem "validate_url"

然后执行以下命令安装 gem:

bundle install

手动安装

如果您希望手动安装,可以使用以下命令:

sudo gem install validate_url

确保您的系统已经安装了 Ruby 和 Gem。

2. 项目使用说明

Validates URL 为 ActiveRecord 和 ActiveModel 添加了验证 URL 的功能。以下是如何在您的模型中使用它的示例。

在 ActiveRecord 中使用

class Pony < ActiveRecord::Base
  # 标准验证
  validates :homepage, url: true

  # 允许 nil 值
  validates :homepage, url: { allow_nil: true }

  # 允许空白
  validates :homepage, url: { allow_blank: true }

  # 禁止本地主机名
  validates :homepage, url: { no_local: true }

  # 使用自定义协议
  validates :homepage, url: { schemes: ['https'] }

  # 使用公共后缀数据库
  validates :homepage, url: { public_suffix: true }

  # 支持 Postgres URL 数组
  validates :homepage, url: { accept_array: true }
end

在 ActiveModel 中使用

class Unicorn
  include ActiveModel::Validations

  attr_accessor :homepage

  # 使用传统语法
  validates_url :homepage, allow_blank: true
end

在 RSpec 中使用

spec_helper.rbrails_helper.rb 文件中引入匹配器:

require 'validate_url/rspec_matcher'

在您的 spec 文件中:

RSpec.describe Unicorn
  it { is_expected.to validate_url_of(:homepage) }
end

国际化 (I18n)

默认的错误消息是 "is not a valid URL"。您可以通过传递 message: "my custom error" 选项来自定义错误消息。

3. 项目 API 使用文档

Validates URL 提供了丰富的验证选项,以下是一些常用选项:

  • url: true:基础验证。
  • allow_nil: true:允许字段为 nil。
  • allow_blank: true:允许字段为空或空白。
  • no_local: true:禁止本地主机名。
  • schemes: ['https']:自定义支持的协议。
  • public_suffix: true:使用公共后缀数据库。
  • accept_array: true:支持数组类型的 URL。

4. 项目安装方式

请参考上述“安装指南”中的步骤进行安装。

登录后查看全文
热门项目推荐