博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
validates_timeliness
阅读量:5963 次
发布时间:2019-06-19

本文共 2413 字,大约阅读时间需要 8 分钟。

  hot3.png

安装后

$ rails generate validates_timeliness:install

会生成 initializer 和 locale 配置文件!

使用例子:

validates_datetime :occurred_atvalidates_date :date_of_birth, :before => lambda { 18.years.ago },                              :before_message => "must be at least 18 years old"validates_datetime :finish_time, :after => :start_time # Method symbolvalidates_date :booked_at, :on => :create, :on_or_after => :today # See Restriction Shorthand.validates_time :booked_at, :between => ['9.00am', '5:00pm']validates_time :breakfast_time, :on_or_after => '6:00am',                                :on_or_after_message => 'must be after opening time',                                :before => :lunchtime,                                :before_message => 'must be before lunch time'

如何使用?

class Person < ActiveRecord::Base  validates_date :date_of_birth, :on_or_before => lambda { Date.current }  # or  validates :date_of_birth, :timeliness => {:on_or_before => lambda { Date.current }, :type => :date}end# or even on a specific record, per ActiveModel API.@person.validates_date :date_of_birth, :on_or_before => lambda { Date.current }

其实和平常的‘校验’也没什么两样,只是我们对 日期/时间的校验 不常用罢了。如下:

validates_date     - validate value as datevalidates_time     - validate value as time only i.e. '12:20pm'validates_datetime - validate value as a full date and timevalidates          - use the :timeliness key and set the type in the hash.

对于上面的 validates 方法,我们可以有如下选项:

:is_at        - Attribute must be equal to value to be valid:before       - Attribute must be before this value to be valid:on_or_before - Attribute must be equal to or before this value to be valid:after        - Attribute must be after this value to be valid:on_or_after  - Attribute must be equal to or after this value to be valid:between      - Attribute must be between the values to be valid. Range or Array of 2 values.
:allow_nil    - Allow a nil value to be valid:allow_blank  - Allows a nil or empty string value to be valid:if           - Execute validation when :if evaluates true:unless       - Execute validation when :unless evaluates false:on           - Specify validation context e.g :save, :create or :update. Default is :save.
:ignore_usec  - Ignores microsecond value on datetime restrictions:format       - Limit validation to a single format for special cases. Requires plugin parser.

还有一些配置工作Configuration, 在此就不多说了。

转载于:https://my.oschina.net/kelby/blog/193125

你可能感兴趣的文章
HDU1848 Fibonacci again and again
查看>>
HTML思维导图
查看>>
office2016选择性安装
查看>>
C# 自定义控件入门
查看>>
git改密码出现授权问题
查看>>
Hadoop IO 特性详解(2)
查看>>
ORA-02266: 表中的唯一/主键被启用的外键引用
查看>>
MySQL类型转换 使用CAST将varchar转换成int类型排序
查看>>
Django的POST请求时因为开启防止csrf,报403错误,及四种解决方法
查看>>
Apache common-fileupload用户指南
查看>>
day-6 and day-7:面向对象
查看>>
IE维护(IEM)策略不再适用于IE10及后续IE版本
查看>>
Java7中的ForkJoin并发框架初探(下)—— ForkJoin的应用
查看>>
java中的重量级与轻量级概念
查看>>
Linux设备驱动工程师之路——硬件访问及混杂设备LED驱动
查看>>
进程和线程<一>
查看>>
远程算数程序——版本v1.0
查看>>
Mysql常见四种索引的使用
查看>>
说说Android桌面(Launcher应用)背后的故事(一)——揭开她神秘的面纱
查看>>
第一篇:zc706 开箱及开发环境搭建
查看>>