1.presence
这个帮助方法检查指定的属性是否为非空值,调用 blank?
方法检查只是否为 nil
或空字符串,即空字符串或只包含空白的字符串。
代码
class Person < ActiveRecord::Base validates :name, :login, :email, presence: true end
2.absence
这个方法验证指定的属性值是否为空,使用 present?
方法检测值是否为 nil
或空字符串,即空字符串或只包含空白的字符串。
代码
class Person < ActiveRecord::Base validates :name, :login, :email, absence: true end
3.uniqueness
这个帮助方法会在保存对象之前验证属性值是否是唯一的。该方法不会在数据库中创建唯一性约束,所以有可能两个数据库连接创建的记录字段的值是相同的。为了避免出现这种问题,要在数据库的字段上建立唯一性索引。
代码
class Account < ActiveRecord::Base validates :email, uniqueness: true end
这个验证会在模型对应的数据表中执行一个 SQL 查询,检查现有的记录中该字段是否已经出现过相同的值。
:scope
选项可以指定其他属性,用来约束唯一性验证:
class Holiday < ActiveRecord::Base validates :name, uniqueness: { scope: :year, message: "should happen once per year" } end
还有个 :case_sensitive
选项,指定唯一性验证是否要区分大小写,默认值为 true
。
class Person < ActiveRecord::Base validates :name, uniqueness: { case_sensitive: false } end
默认的错误消息是“has already been taken”。
相关推荐
NULL 博文链接:https://hlee.iteye.com/blog/587006
使用Ruby on Rails中的Kickbox.io API验证电子邮件,如果Kickbox.io API由于任何原因失败,则退回到基本语法电子邮件验证 安装 将此行添加到您的应用程序的Gemfile中: gem 'kickbox_rails' 然后执行: $ bundle ...
validates_formatting_of gem添加了几种便捷的方法来验证Rails应用程序中的内容,例如电子邮件,URL和电话号码。 支持的Ruby版本 1.9.3 2.0.0 2.1.0 2.2.0 安装 要安装validates_formatting_of ,请将以下内容...
EmailValidator Rails 3+的电子邮件验证器。 使用RFC-3696验证支持符合RFC-2822和RFC-5321的电子邮件验证。 以前位于: : 验证原理这个gem提供的默认验证( :loose配置选项)极其宽松。 它只是检查在@前后是否有空格...
knock, 用于 Rails API的无缝JWT身份验证 敲门 用于 Rails API的无缝JWT身份验证描述敲门是 Rails api的认证解决方案,基于JSON网络令牌的应用程序。什么是JSON网络令牌? :为什么要使用这里选项?它是轻量级的。它...
Knock - 为Rails API实现无缝JWT身份验证
《Rails之道》按照Rails的各个子系统进行组织编排,分别介绍了Rails的环境、初始过程、配置和日志记录,Rails的分配器、控制器、页面生成和路由,REST、资源和Rails,ActiveRecord的基础、关联、验证和高级技巧,...
jquery-validation-rails, 对 Rails 资产管道的jQuery验证 :: 验证:: rails针对 Rails 资产管道的验证 。安装这里 gem将以下行添加到项目的Gemfile 中:gem 'jquery-validation-rails'在你的终端中运行以下命令:cd...
通过将许多ActiveModel::Validation功能移植到JavaScript,Judge可以轻松地对Rails进行客户端表单验证。 最常见的验证通过存储在HTML5数据属性中的JSON字符串进行,并且仅在客户端执行。 无论您在何处,Judge都为...
假设已经由Rails测试过Rails验证,那么当我对Model的属性进行验证时,我只想测试验证是否存在。 而已。 用法 假设您具有如下模型: class MyAwesomeModel < ActiveRecord xss=removed> true end 在您的测试中: ...
开箱即用HTML 5客户端验证和Rails验证不能很好地协同工作。 是对挑战的讨论和一些解决方案 在必填字段上自动。 一种在字段上始终显示文本的简便方法。 如果需要的话,可以为(它们的字段左侧的标签,如传统的桌面...
react-devise, Ruby on Rails 设计验证服务器的ReactJS前端 ATTENTON: 目前,这必须是实验性软件,而不是在生产中使用。设计简介设计长期以来一直是 Rails 应用的认证库。 只需将设计放入你的Rails 应用程序,进行...
rails_param Rails的参数验证和类型强制介绍如果您想直接在控制器内部验证一些参数,该库非常方便。 例如:您正在构建搜索动作,并且想要验证是否已设置sort参数,并且仅将其设置为desc或asc类的东西。重要的该库不...
Devise - 一个基于Warden的Rails灵活身份验证解决方案
rails3-mongoid-devise, 示例 Rails 3.2应用,带有数据 Mongoid,用于验证 Rails 4.1有关设计的Rails 4.1示例应用程序,请参见:rails设计有一个用于设计的教程:Rails 设计教程。类似示例和教程这是来自 RailsApps...
rails-omniauth, 带有OmniAuth的Rails 5.0启动应用程序,用于身份验证 Rails 和 OmniAuthRails 5.0集成 Rails 和OmniAuth的示例应用程序。 使用第三方凭据( 如 Facebook 。Twitter 或者GitHub帐户) 提供认证的 ...
mail_form, 在 Rails 中使用 i18n 验证附件和请求信息,直接从表单发送电子邮件 MailForm Rails 3这个 gem 构建在 ActiveModel 之上,展示如何从 Rails 中提取验证。命名和 i18n,而不需要自己实现。本自述文件指的...
为身份验证框架提供Rails集成。 目录 资源资源 有用的链接: 文章: 为什么选择Rodauth? 已经有几种流行的Rails身份验证解决方案(Devise,Sorcery,Clearance,Authlogic),那么为什么要选择Rodauth? 以下是...