`

RAILS有条件的校验

阅读更多
rails中所有的验证声明都可以接受 :if 选项,可以指定一段在校验之前执行的代码

比如 只有在邮箱地址不为空的时候才验证邮箱地址的格式
使用proc对象,调用时,传入当前的模型对象作为参数,代码返回false时,不做校验
  
validates_format_of :email,
    :with=>/^([A-Za-z0-9_]+)([\.\-\+][A-Za-z0-9_]+)*(\@[A-Za-z0-9_]+)([\.\-][A-Za-z0-9_]+)*(\.[A-Za-z0-9_]+)$/,
    :if=>Proc.new{|u|!u.email.blank?}


一定范围内的“不可重复”校验
比如一个人的**东西,不能重名
  validates_uniqueness_of :name,:scope=>"creator_id"


其他方法,参考如下文章
http://hideto.iteye.com/blog/107829
分享到:
评论

相关推荐

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    rails向导打包

    这包括基本的查找方法(如 `find` 和 `where`),关联(如 `has_many` 和 `belongs_to`),以及更高级的查询技术,如链式查询和条件查询。 2. **Active Record 校验与回调**: 校验确保模型的数据在存储到数据库之前...

    rails2-sample

    本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是学习Ruby on Rails的理想选择。 ### 重要知识点概览 #### 1. Introducing Ruby on Rails(介绍Ruby on Rails) 这一章节...

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    Rails

    标题 "Rails" 指的是 Ruby on Rails,一个开源的Web应用程序框架,它基于Ruby编程语言,遵循MVC(模型-视图-控制器)架构模式。Rails由David Heinemeier Hansson在2004年创建,其设计理念是强调代码的简洁性、DRY...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    - **定义**:验证是在保存数据之前对模型进行检查的过程,确保数据符合预期的格式和约束条件。 - **类型**:Rails提供了多种内置的验证类型,如`presence`、`uniqueness`、`format`等。 #### 三、关联 - **定义**...

    rails指南 中文版

    Rails指南中文版是针对...此外,Rails社区活跃,有大量的插件和gem可供扩展,为开发者提供了丰富的资源和强大的支持。通过深入学习和实践,你将成为一名高效的Rails开发者,能够创建出优雅、高效且易于维护的Web应用。

    使用Aptana+Rails开发Rails Web应用(中文)

    在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。...

    rails本地安装包完整版

    这个本地安装包特别适合网络条件不佳的用户,避免了逐个从官网下载组件的困扰。使用gem命令,用户可以直接安装这些本地的gem文件,快速搭建Rails 2.1.0的开发环境。在安装时,需要确保Ruby环境已就绪,并且具备相应...

    Rails recipes

    作者们通过分享自己的经验和见解,为Rails程序员提供了一本既有实际操作指导又有理论深入分析的参考书。 Ruby on Rails是一种流行的开源Web应用框架,用Ruby语言编写,遵循MVC架构模式。Rails的目的是让开发过程尽...

    rails 2.3.2离线安装rails 2.3.2离线安装

    rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...

    Advanced Rails

    "Advanced Rails" 涵盖了Rails开发中的高级主题和技术,是Ruby on Rails学习进阶的重要资源,尤其适合已经对基础Rails有一定了解的开发者。 在Web开发领域,Rails以其高效、简洁的代码和“约定优于配置”的哲学吸引...

    rails2.3.2

    标题 "rails2.3.2" 指的是 Ruby on Rails 框架的一个特定版本,即 2.3.2。Ruby on Rails(通常...虽然现在已经有许多更新的 Rails 版本,但 Rails 2.3.x 对于理解 Rails 的基本原则和工作方式仍具有重要的历史价值。

    component base rails applications

    本书《Component-Based Rails Applications》主要介绍了如何使用Rails引擎(Rails Engine)进行基于组件的Rails应用开发,以及如何对应用程序的大型模块进行拆分和模块化。以下是书中一些核心知识点的详细说明: 1....

    Ruby on Rails Tutorial

    学习英语这门世界语言是很重要的,但先通过母语学习往往会更有效果。正因为这样,当看到 Andor Chen 把《Ruby on Rails Tutorial》翻译成中文时,我很高兴。 我从未到过中国,但一定会在未来的某一天造访。希望我到...

    Rails相关电子书汇总

    标题 "Rails相关电子书汇总" 暗示了这个压缩包包含了关于Ruby on Rails框架的电子书籍资源。Ruby on Rails,通常简称为Rails,是一个基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,以...

    [Rails] Crafting Rails Applications (英文版)

    [Pragmatic Bookshelf] Crafting Rails Applications Expert Practices for Everyday Rails Development (E-Book) ☆ 图书概要:☆ Rails 3 is a huge step forward. You can now easily extend the framework, ...

    中文版rails教程

    Rails社区活跃,有许多优秀的资源可以帮助初学者快速上手。 总的来说,Ruby on Rails是一个强大的开发工具,它简化了Web应用的构建过程,让开发者可以更专注于创新和解决问题,而不是琐碎的配置和代码复写。通过...

Global site tag (gtag.js) - Google Analytics