`
sun201200204
  • 浏览: 300002 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

validate

阅读更多
Ruby on Rails 的检验方法(Validation Helpers)大全
可以自定义validate(), 这个方法在每次保存数据时都会被调用.
如:
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.”
n :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.”
n :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.”
n :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对象.
n :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.”
n :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.”
n :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.”
n :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取代确定的最大,最小或指定数据.
n :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.”
n :save,:create, or :update
nly_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.”
n :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.”
n :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
分享到:
评论

相关推荐

    jquery validate 信息气泡提示

    在网页开发中,jQuery Validate 是一个非常常用的验证插件,用于对用户输入的数据进行校验,确保数据的有效性和完整性。这个插件可以帮助开发者创建复杂的表单验证规则,提高用户体验,减少服务器端的压力。结合 ...

    mysql 安装密码校验插件validate_password.docx

    以下是安装validate_password插件的详细步骤,以及相关的配置和使用方法。 1. **修改配置文件** 首先,你需要编辑MySQL的配置文件,通常位于`/etc/my.cnf`(根据你的操作系统和安装路径可能有所不同)。使用命令`...

    jquery validate默认错误提示显示位置修改

    ### 修改jQuery Validate默认错误提示显示位置 在网页开发过程中,表单验证是非常重要的一个环节,它不仅能够提高用户体验,还能确保数据的有效性和安全性。jQuery Validate插件是实现表单验证功能的一个强大工具,...

    jquery.validate使用攻略

    1. **引入库**:首先需要在页面中引入 jQuery 和 jQuery Validate 的库文件,通常是 `jquery.js` 和 `jquery.validate.js`。 2. **初始化插件**:在文档加载完成后,通过 `$("#formId").validate()` 来启用验证功能...

    jquery validate 使用详解

    ### jQuery Validate 插件使用详解 #### 一、概述 jQuery Validate 是一款强大的表单验证插件,基于 jQuery 框架开发而成。它能够帮助开发者轻松实现客户端表单验证功能,大大提高了用户体验并减少了服务器端的...

    JQuery+validate校验+messages_zh中文的js库

    `jquery.validate.js` 和 `jquery.validate.min.js` 就是这个插件的源码和压缩版。这个插件提供了一套强大的规则引擎,可以轻松地为表单元素添加验证规则,例如必填、邮箱格式、数字范围等,极大地提高了用户输入...

    validate方法

    标题中的"validate方法"通常指的是在编程中用于验证数据或对象的方法。这可能是为了确保输入的数据符合特定的格式、规则或者限制,以防止错误、安全问题或者数据不一致。在不同的编程语言和框架中,validate方法可能...

    jquery.validate 版本大全

    jquery.validate.1.9.0.min.js jquery.validate.1.12.0.min.js jquery.validate.1.13.1.min.js jquery.validate.1.16.0.min.js jquery.validate.1.14.0.min.js jquery.validate.1.15.1.min.js jquery.validate....

    jQueryValidate.rar

    《jQuery Validate插件详解及其应用》 在Web开发中,表单验证是不可或缺的一部分,它确保用户输入的数据符合预设的规则,提高了用户体验并减少了服务器端的负担。jQuery Validate插件是实现这一功能的强大工具,它...

    vue中使用vee-validate

    Vee-validate 是一个流行的 Vue.js 库,用于表单验证和字段验证。它提供了一种简洁的方式来处理用户输入的数据验证,使得在 Vue 应用中实现表单验证变得更加容易。以下是如何在 Vue 项目中引入并使用 vee-validate,...

    开源项目-lyft-protoc-gen-validate.zip

    【开源项目-lyft-protoc-gen-validate】是一个在IT领域中非常有价值的工具,尤其对于那些使用Protocol Buffers(简称protobuf)进行数据序列化的开发者来说。protobuf是由Google开发的一种高效的数据序列化协议,...

    jquery.validate.js 1.8.1 + 实例

    `jQuery Validate` 插件1.8.1版本提供了丰富的功能,包括基本的验证规则、自定义验证规则以及错误消息定制。 ### jQuery Validate 插件基础 `jQuery Validate` 的核心功能是验证表单字段,它通过添加额外的属性到 ...

    Python库 | validate_email_wt-1.4.5-py2.py3-none-any.whl

    在这个场景中,我们关注的是一个名为`validate_email_wt`的Python库,版本为1.4.5,它是一个`.whl`格式的文件。`.whl`文件是Python的预编译轮子包,用于简化安装过程,特别是对于那些不支持`pip`自动编译源码的环境...

    jquery validate 表单验证

    jQuery Validate插件是jQuery库的一个扩展,专门用于实现这样的功能。这个插件提供了一种简便的方式来对HTML表单进行验证,避免了服务器端不必要的负载。接下来,我们将深入探讨jQuery Validate的使用方法、核心概念...

    ajax验证用户名是否存在 与 rapid validate 的使用

    使用Rapid Validate可以帮助开发者在早期发现并修复问题,提升代码质量。 安装Rapid Validate通常通过npm(Node.js包管理器)进行: ```bash npm install -g rapid-validate ``` 使用时,在命令行中运行: ```...

    jq.validate文件

    `jquery.validate.js`是这个插件的核心文件,包含了所有验证功能的实现。 在网页开发中,数据验证是一个至关重要的环节,可以防止用户提交无效或不完整的数据。`jQuery Validate` 插件通过添加自定义的验证规则和...

    jquery.validate.js下载

    jquery.validate.js jquery.validate.js

    vue表单验证validate.min.js使用例子,formdata 文件上传表单提交

    `validate.min.js`是一个强大的表单验证库,它可以让我们自定义验证规则并提供中文错误提示,使得开发更加便捷。 首先,`validate.min.js`的使用通常涉及到以下步骤: 1. 引入`validate.min.js`库:在HTML文件中...

    jQuery Validate 1.1.2

    jQuery Validate 是一个强大的JavaScript库,专门用于前端表单验证,由jQuery团队开发并维护。它极大地简化了在网页上创建高效、用户友好的验证规则的过程,避免了开发者编写大量重复的验证代码。jQuery Validate ...

    protoc-gen-validate

    "protoc-gen-validate" 是一个用于 Protocol Buffers(protobuf)编译器插件,它允许在protobuf消息定义中添加验证规则。protobuf是Google开发的一种数据序列化协议,广泛应用于跨平台的数据交换。这个插件扩展了...

Global site tag (gtag.js) - Google Analytics