Rails - 如何构建自定义验证

时间:2011-02-28 00:37:04

标签: ruby-on-rails ruby-on-rails-3

我有一个Rails 3表单,data-remote =>真。

表单字段是句柄,就像twitter句柄一样。我想添加验证以确保它的句柄友好,意思是,没有空格或非url友好字符。

从哪里开始,我是否为此构建了客户验证?

由于

3 个答案:

答案 0 :(得分:3)

您似乎想要使用validates_format_of

class Product < ActiveRecord::Base
  validates_format_of :handle, :with => /\A[a-zA-Z]+\z/, :message => "Only letters allowed"
end

更改正则表达式模式以符合您的需要。有关详细信息,请参阅Rails Guides on validation

答案 1 :(得分:1)

查看validates_each

validates_each :handle do |record,attribute,value|
    # your validation code here, and you can record.errors.add().
end

答案 2 :(得分:0)

在rails 3中,最佳做法是使用

validates :handle, :format => {:with => /\A[a-zA-Z]+\z/, :message => "Only letters allowed"}