可以自定义validate(), 这个方法在每次保存数据时都会被调用.
如:
同时也可以自定义 validate_on_create(),validate_on_update()方法.
valid?()方法可以随时调用,用来测试数据是否能通过校验
返回的错误信息可用 error_messages_for(model)方法显示.
如:<%= error_messages_for 'article' %>
校验大全:
如:
def validate if name.blank? && email.blank? errors.add_to_base("You mustspecify a name or an email address") end end
同时也可以自定义 validate_on_create(),validate_on_update()方法.
valid?()方法可以随时调用,用来测试数据是否能通过校验
返回的错误信息可用 error_messages_for(model)方法显示.
如:<%= error_messages_for 'article' %>
校验大全:
validates_acceptance_of 指定checkbox应该选中. (如:(*)我同意条款) 用法:validates_acceptance_of attr... [ options...] 参数:message text 默认:“mustbe accepted.” :on :save,:create, or :update 实例: class Order < ActiveRecord::Base validates_acceptance_of:terms, :message=> "Please accept the terms to proceed" end validates_associated 查验指定的object. 用法:validates_associated name... [ options...] 参数:message text 默认: is “is invalid.” :on :save,:create, or :update 实例: class Order < ActiveRecord::Base has_many :line_items belongs_to :user validates_associated:line_items, :message=> "are messed up" validates_associated:user end validates_confirmation_of 数据重校 用法:validates_confirmation_of attr... [options... ] 参数:message text 默认 “doesn’t matchconfirmation.” :on :save,:create, or :update 实例: 对密码表: <%= password_field "user", "password"%><br /> <%= password_field "user","password_confirmation" %><br /> #第二表名为xxxx_confirmation class User < ActiveRecord::Base validates_confirmation_of:password end validates_each 使用block检验一个或一个以上参数. 用法:validates_each attr... [ options... ] {|model, attr, value| ... } 参数:allow_nilboolean 设为true时跳过nil对象. :on :save,:create, or :update 实例: class User < ActiveRecord::Base validates_each :name, :email do|model, attr, value| ifvalue =~ /groucho|harpo|chico/i model.errors.add(attr,"Youcan't be serious, #{value}") end end end validates_exclusion_of 确定被检对象不包括指定数据 用法:validates_exclusion_of attr..., :in =>enum [ options... ] #enum指一切可用include?()判断的范围. 参数:allow_nil 设为true将直接跳过nil对象. :in (or:within) enumerable :message text默认为: “is not included in the list.” :on :save,:create, or :update 实例: class User < ActiveRecord::Base validates_exclusion_of:genre, :in=> %w{ polka twostep foxtrot }, :message=>"no wild music allowed" validates_exclusion_of:age, :in=> 13..19, :message=>"cannot be a teenager" end validates_inclusion_of 确认对象包括在指定范围 用法:validates_inclusion_of attr..., :in =>enum [ options... ] 参数:allow_nil 设为true直接跳过nil对象 :in (or:within) enumerable An enumerable object. :message text默认:“is not included in the list.” :on :save,:create, or :update 实例: class User < ActiveRecord::Base validates_inclusion_of:gender, :in=> %w{ male female }, :message=>"should be 'male' or 'female'" validates_inclusion_of:age, :in=> 0..130, :message=>"should be between 0 and 130" end validates_format_of 用正则检验对象 用法:validates_format_of attr..., :with =>regexp [ options... ] 参数:message text 默认为: “is invalid.” :on :save,:create, or :update :with正则表达式 实例: class User < ActiveRecord::Base validates_format_of :length,:with => /^\d+(in|cm)/ end validates_length_of 检查对象长度 用法:validates_length_of attr..., [ options...] 参数:in (or :within) range :isinteger :minimuminteger :maximuminteger :message text默认文字会根据参数变动,可使用%d取代确定的最大,最小或指定数据. :on :save,:create, or :update :too_longtext 当使用了 :maximum后的 :message :too_shorttext ( :minimum ) :wrong_length( :is) 实例: class User < ActiveRecord::Base validates_length_of :name,:maximum => 50 validates_length_of :password,:in => 6..20 validates_length_of :address,:minimum => 10, :message=>"seems too short" end validates_numericality_of 检验对象是否为数值 用法:validates_numericality_of attr... [options... ] 参数:message text 默认 “is not a number.” :on :save,:create, or :update :only_integer 实例: class User < ActiveRecord::Base validates_numericality_of:height_in_meters validates_numericality_of :age,:only_integer => true end validates_presence_of 检验对象是否为空 用法:validates_presence_of attr... [ options...] 参数:message text 默认:“can’t be empty.” :on :save,:create, or :update 实例: class User < ActiveRecord::Base validates_presence_of :name,:address end validates_uniqueness_of 检验对象是否不重复 用法:validates_uniqueness_of attr... [ options...] 参数:message text 默认: “has already beentaken.” :on :save,:create, or :update :scope attr指定范围 实例: class User < ActiveRecord::Base validates_uniqueness_of:name end class User < ActiveRecord::Base validates_uniqueness_of :name,:scope =>"group_id" end #指定在同一group_id的条件下不重复. 常用正则: E-Mail地址格式: validates_format_of :email, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i, :message => 'email must be valid' 网址格式: validates_uri_existence_of :url, :with => /(^$)|(^(http|https)://[a-z0-9] ([-.]{1}[a-z0-9])*.[a-z]{2,5}(([0-9]{1,5})?/.*)?$)/ix
发表评论
-
使用 Capistrano 对rails app进行快速部署
2011-02-23 15:05 1761仅转载了,还没有用过,如果有问题可留言,大家一起讨论 在进行 ... -
ruby进行web serveice的方法
2011-02-15 14:37 835require 'soap/wsdlDriver' #url ... -
友好的登录系统
2011-01-28 10:54 672友好的登录系统 按照目前的代码,如果管理员尝试在未登录的状态下 ... -
第三版
2011-01-27 15:36 0view格式化价格 <%= number_to_curr ... -
用户操作数据库记录
2011-01-25 15:16 850今天我们看看怎样在数据库记录用户操作 db/migrate/0 ... -
Ruby中 respond_to? 和 send 的用法
2011-01-25 14:24 1239obj = Object.new if obj ... -
rails 路由
2011-01-25 14:17 11514 正则路由 Rails支持 ... -
flash-notice自动消失
2011-01-25 11:12 1367flash 提示的自动消失: <body onloa ... -
密码加密和解密
2011-01-25 11:11 1192two way crypt: #http://crypt. ... -
开发环境页面直接调试
2011-01-25 11:06 666#首先,在layout里边的合适地方添加debug,并且使 ... -
对静态页面进行缓存
2011-01-24 14:35 929对于静态站点我们可以利用Rails的cache来管理,如在co ... -
rvm部署rails3和ruby192
2011-01-21 10:39 10851. Installing RVM $ sudo gem ... -
rails要理解
2011-01-18 10:57 602清单3 module Dictionary ... -
rails 加载不同插件设置
2010-12-31 14:49 374config.plugins = [ :all ] co ... -
参考rails 下拉
2010-12-31 14:47 617对于多数的model的select列表,我都会用model属性 ... -
自定义form提示
2010-12-31 10:53 678自定义form错误提示 application_contro ... -
提高rails开发模式下静态页加载速度
2010-12-31 10:44 873http://github.com/thedarkone/ra ... -
rails 连接多个数据库
2010-12-30 10:31 748首先在database.yml中加入以下代码,其中cg_clo ... -
瘦controller,富model
2010-12-28 14:02 735----先看这么一段rhtml代码:渲染模板中加入了这么多的逻 ... -
rake 命令一览
2010-12-28 11:21 985rake db:abort_if_pending_migr ...
相关推荐
Active Model的自定义验证,用于检查数组是否包含在另一个中
validates_timeliness - ActiveModel和Rails的日期与时间验证插件,持多个ORM和允许自定义日期/时间格式。
Ruby routing-filter 包裹了 Rails 路由系统的复杂野兽,在 Rails URL 识别和生成中提供了看不见的灵活性和强大功能 路由过滤器围绕着复杂的野兽,Rails 路由系统在 Rails URL 识别和...更多详情、使用方法,请下载
客户端验证 ClientSideValidations使您的Rails 5.x / Rails 6.x应用程序变得容易! 项目目标 遵循开发的客户端验证最佳实践 自动提取服务器上定义的...支持自定义验证 客户端验证回调 插件系统支持其他FormBuilder,OR
完全验证Rails 4.x和Rails 5.0的日期,时间和日期时间。 这是的叉子,带有和补丁。 我添加了与各种Rails 4.x版本以及STI和性能修复程序的其他兼容性。 特征 将日期,时间和日期时间的验证添加到ActiveModel 处理...
自定义动作 自动表格验证 搜索和过滤 将数据导出到CSV / JSON / XML 身份验证(通过或其他方式) 授权(通过或 ) 用户操作历史记录(通过 ) 支持的ORM 活动记录 蒙古族 安装 在您的gemfile上: gem 'rails_...
validates_timeliness:ActiveModel和Rails的日期和时间验证插件。 支持多个ORM,并允许自定义日期时间格式
ValidatesTimeliness¶↑来源:github.com/adzap/validates_timeliness问题:github....功能¶↑将日期,时间和日期时间的验证添加到ActiveModel Handles时区,并为您键入值的强制转换Only Rails日期/时间
它是可选的,可以自定义,因此您可以定义自己的验证。 :在指定次数的登录尝试失败后锁定帐户。 可以通过电子邮件或在指定时间段后解锁。 目录 信息 维基百科 Devise Wiki包含有关Devise的许多其他信息,包括许多...
友好的表现形式,自定义的URL的请求分配器(Request dispatcher) 8.内置验证机制 9.快速灵活的模版(PHP语法,利用helper) 10.AJAX,JavaScript,HTML Form以及更多的View Helper.. 11.安全,对话...
蓝图可以在几分钟内创建Rails 6应用程序的样板。...目录内置功能安装发送电子邮件有组织的邮件文件夹自定义尾风Flash消息触发Flash消息手动Flash消息位置表单验证基本管理区域其他选项路线图内置功能Bluep
librato-rails会为你的Rails应用程序报告关键统计数据 ,让您可以轻松地跟踪自己的自定义指标。 指标是在后台异步传递的,因此它们不会影响您的请求的性能。 Ruby 1.9.3及更高版本支持Rails 3.0或更高版本。 我们的...
这个 gem 是用于测量gem 的 Rails 集成。 它提供了 ActiveRecord 适配器,用于保存和检索测量值及其单位和模型验证。 用法 活动记录 列应具有_valueand_unit后缀,并且是DECIMALand VARCHAR,并且接受默认值。支持...
它是基于Rails引擎的完整MVC解决方案,可让您同时登录多个模型。 它由10个模块组成:1.身份验证模块,负责登录时的密码哈希和验证用户的真实性2. Omniauthable添加OmniAuth支持3. Confirmable负责验证登录期间是否...
#Feevale 的 Ruby on Rails 课程##Ruby历史安装语言(面向对象、块、模块和语法) 宝石交互式控制台 (irb)...##超越简单ajax 调用自定义验证##然后? 如何保持最新状态测试应用程序何处解疑GitHub 如何为 rails(或
您还可以将其与任何自定义身份验证系统一起使用。 只需将登录请求发送到身份验证端点,Tokenable将返回一个令牌。 然后,可以使用此令牌访问您的API和任何经过身份验证的端点。 安装 将此行添加到您的应用程序的...
为Swift中的验证建立标准的嵌入式库,同时使用户可以轻松扩展以创建自定义验证。 并避免开发人员为不同项目一遍又一遍地编写相同的代码和验证。 产品特点 快速验证。 超级简单的声明式语法。 容易扩展。 完全...
braintree-rails是一个框架,它包装了官方的客户端库,并提供了与ActiveModel兼容的模型,可以轻松地将其安装到rails应用程序中。... 例如,您可以向每个模型添加自定义验证或回调。 最后,幕后所有braintree
与许多Rails CMS引擎一样,Fae提供了使您快速启动并运行的所有基础知识:身份验证,授权,时尚的UI,表单助手,图像处理和工作流。 但是与其他引擎不同,Fae生成的模型,控制器和视图是为了自定义和缩放而构建的。 ...