首页
/ ActiveValidators 技术文档

ActiveValidators 技术文档

2024-12-23 19:06:44作者:咎岭娴Homer

1. 安装指南

在安装ActiveValidators之前,请确保您的项目满足以下要求:

  • Rails 5.1 或更高版本
  • Ruby 2.4 或更高版本

安装ActiveValidators的方法如下:

gem install activevalidators

如果您使用Bundler,可以使用稳定版本指定符~>安全地指定ActiveValidators版本。例如:

gem 'activevalidators', '~> 5.1.0'

安装后,您需要在项目中激活所需的验证器。激活方法如下:

# 激活所有验证器
ActiveValidators.activate(:all)

# 仅激活email和slug验证器
ActiveValidators.activate(:email, :slug)

# 仅激活phone验证器
ActiveValidators.activate(:phone)

激活语句可以多次调用。它只是 atop Ruby require的语法糖。

在标准的Ruby on Rails应用程序中,此行可以放在初始化文件(例如config/initializers/active_validators_activation.rb)中,或者直接在config/application.rb文件中的MyApp::Application类定义内部。

2. 项目的使用说明

ActiveValidators为您的模型提供了新的验证器,如emailurl。以下是如何在模型中使用它们的示例:

class User < ActiveRecord::Base
  validates :company_siren, :siren       => true
  validates :email_address, :email       => true # == :email => { :strict => false }
  validates :link_url,      :url         => true # 可以与 `allow_blank: true` 结合使用
  validates :password,      :password    => { :strength => :medium }
  validates :postal_code,   :postal_code => { :country => :us }
  validates :twitter,       :twitter     => true
  validates :twitter_at,    :twitter     => { :format => :username_with_at }
  validates :twitter_url,   :twitter     => { :format => :url }
  validates :user_phone,    :phone       => true
end

ActiveValidators支持的验证器和它们的实现包括:

  • barcode:基于已知格式(目前仅支持:ean13
  • credit_card:基于credit_card_validations gem
  • date:基于date_validator gem
  • email:基于mail gem
  • hex_color:基于正则表达式
  • ip:基于Resolv::IPv[4|6]::Regex
  • nino:英国国家保险号(仅限英国)
  • password:基于一组正则表达式
  • phone:基于一组预定义的掩码
  • postal_code:基于一组预定义的掩码
  • regexp:使用Ruby的Regexp.compile方法
  • respond_to:通用的Ruby respond_to
  • siren:法国公司编号SIREN
  • slug:基于ActiveSupport::String#parameterize
  • sin:加拿大社会保险号(仅限加拿大)
  • ssn:美国社会保险号(仅限美国)
  • tracking_number:基于一组预定义的掩码
  • twitter:基于正则表达式
  • url:基于正则表达式

3. 项目API使用文档

ActiveValidators提供的验证器可以直接在ActiveRecord模型中使用。每个验证器都有其特定的参数和选项。下面列出了一些验证器的使用方法:

  • validates :email_address, :email => true
  • validates :link_url, :url => true
  • validates :password, :password => { :strength => :medium }
  • validates :postal_code, :postal_code => { :country => :us }
  • validates :twitter, :twitter => true
  • validates :user_phone, :phone => true

详细的验证器列表和选项请参考项目的GitHub页面和wiki。

4. 项目安装方式

ActiveValidators可以通过Ruby的gem包管理器安装。确保您的环境满足上述要求后,运行以下命令:

gem install activevalidators

如果使用Bundler,可以在您的Gemfile中添加以下代码:

gem 'activevalidators', '~> 5.1.0'

然后执行bundle install命令进行安装。

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