我正在尝试编写一个自定义验证器来检查输入到文本字段中的单词数。
我试图效仿 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(使用前将#替换为@)