在 Rails 3 中编写自定义验证器

2024-02-08

我正在尝试编写一个自定义验证器来检查输入到文本字段中的单词数。

我试图效仿 Railscasts 第 211 集中的例子 -http://railscasts.com/episodes/211-validations-in-rails-3 http://railscasts.com/episodes/211-validations-in-rails-3

因此,我创建了一个文件 /lib/word_limit_validator.rb 并复制了教程中的相同代码。我知道这段代码不计算单词数,我只是尝试使用它,因为我知道它应该如何表现。

class WordLimitValidator < ActiveModel::EachValidator  
  def validate_each(object, attribute, value)  
    unless value =~ /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i  
      object.errors[attribute] << (options[:message] || "is not formatted properly")  
    end  
  end  
end

这是我在验证中使用的行:

  validates :body, :presence => true,
                   :word_limit => true

当我尝试加载表单时,出现以下错误:

未知验证器:“word_limit”

如何让 Rails 识别我的验证器?

系统规格: 苹果操作系统 10.6.7 导轨3.0.4 红宝石 1.9.2p136


您还可以创建一个应用程序/验证器目录中的 Rails 项目并将自定义验证器放在那里。这样它们就会自动加载。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Rails 3 中编写自定义验证器 的相关文章

  • 实施单表继承后,Rails 路由损坏

    我已经为 person 类实现了单表继承 class Person lt ActiveRecord Base end class Teacher lt Person end class Student lt Person end class
  • Rails 应用程序中区域设置文件的组织

    我目前有以下4个文件配置 语言环境我的根应用程序 en yml de yml simple form en yml simple form de yml In my 应用程序 rb它驻留在一个规格 虚拟用于测试应用程序 gem 的文件夹我有
  • 如何创建下载链接

    创建下载链接的最佳方法是什么 还有比下面更好的方法吗 我正在考虑使用link to Download controller gt action gt id gt 视图中 Adding match documents download id
  • 表单帖子上的 asp.net mvc 编码

    我在我的 asp net mvc 表单 带有文本区域的 nicedit 中使用富文本编辑器 当我在帖子上提交表单时 因为它不是 html 编码的 我收到以下消息 从客户端检测到潜在危险的 Request Form 值 如何对 post 上的
  • 将回形针 url 添加到 json

    通常在 html 中 我们会在图像标签内使用 Model field url thumb 如何在 json 上执行此操作 尤其是使用 hash secret 如果这对任何人都有帮助 我找到了一个很好的方法来做到这一点 class MyMod
  • 我可以使用 Rails API 执行 INSERT-SELECT 操作吗?

    我必须将一个表中的 BLOB 字段复制到另一个表中 并且我想使用 INSERT SELECT 查询来实现此目的 INSERT INTO target table key data comment SELECT my key data som
  • React Native 输入组件仅接受数值

    在React Native项目中 我有一个来自Native Base的输入组件 我希望这个组件只接受数值0 9并给这个字段默认值 我寻找了关于这个问题的其他问题 我不知道也许那些答案是针对 textInput 组件的 或者不知何故建议对我不
  • Ruby on Rails:如何检查复数形式和单一形式的名称

    我用命令创建了一个匿名模型 rails g model Anonymous section id integer aid string fake bool active bool 但迁移中的表名称为匿名 class CreateAnonym
  • ckeditor 数据未通过 jQuery 验证进行验证

    我知道有很多关于此的问题 但我无法让它在我的一生中发挥作用 我尝试了几种解决方案 包括this http devlog waltercruz com usando ckeditor e jquery validate juntos 第二个答
  • Java Spring Rest 验证配置属性访问

    我有一个 Spring JSON RestAPI 它使用注释驱动的输入验证 Valid 当我尝试验证另一个对象内的对象时 出现以下错误 java lang IllegalStateException JSR 303 validated pr
  • 回形针:从带扩展名的 url 上传

    我想通过 S3 存储上的回形针从 URL 上传图片 我与 Ruby 1 9 3 Rails 3 2 6 paperclip 3 1 3 aws sdk 1 3 9 我有我的图片模型 class Asset has attached file
  • 安装了 Rails 但它说我没有:)

    我刚刚执行了这个命令来安装 Rails gem install rails 它似乎运行良好并安装了东西 然后当我按照本教程进行操作时 http guides rubyonrails org getting started html http
  • 验证以防止角度形式出现重复的形式值

    我有几个表单数组 我需要进行验证 以便每个表单行中的特定字段在所有表单数组中必须是唯一的 如果任何值出现多次 则两个表单字段都必须标记为红色 我设法编写了一个函数 以便如果这些字段有任何更改 该函数将返回 true false 但我不确定如
  • 最小有效 JSON 是多少?

    我仔细阅读了 JSON 描述http json org http json org 但我不确定我是否知道这个简单问题的答案 最小可能的有效 JSON 字符串是什么 string 该字符串是有效的 JSON 吗 42简单的数字是有效的 JSO
  • 如何使用 C# 在 MS Excel 单元格中添加数字验证

    我的目标是限制用户在 MS Excel 单元格中仅输入 1 到 100 范围内的值 我正在以编程方式生成 Excel 文件 但是当我添加上述验证时 抛出异常Exception from HRESULT 0x800A03EC 我写的代码如下
  • 判断字符串是否包含有效的javascript代码

    我正在寻找一个C 返回的函数true如果字符串包含有效的 JavaScript 语法 例如 IsValidJavascript alert hello 会回来true but IsValidJavascript alertXXhelloZ
  • ASP.NET - 在表示层中显示业务层错误

    目前 在我正在开发的 ASP NET 应用程序中 基本验证 即必填字段 是在表示层中使用验证器和 ValidationSummary 完成的 这对我来说非常有用 因为 ValidationSummary 将显示多个错误消息 假设多个验证器设
  • 为什么这个 XHTML 表单无法验证?

    任何想法为什么这不会在这里验证 http validator w3 org validate by input http validator w3 org validate by input 表单输入标签似乎是错误的 但通读 XHTML 规
  • NoMethodError:Mocha 和 Rails 3 未定义方法“模拟”

    我尝试在 Rails 3 项目中使用 mocha 但不断收到以下异常 NoMethodError undefined method mock for
  • laravel 5.4 在请求验证之前修改数据[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我有我的自定义请求 它扩展了 Backpack CrudController 现在我想重写 ValidatesWhenResolv

随机推荐