Rails 模型验证 1 个字

Rails Models Validation 1 Word

我尝试从仅限 1 个字的博客类别添加验证。

但是我试试这个length: { maximum: 1 }

我不工作。是否只验证一个词而不验证唯一性?

感谢您的回答

否 Rails 没有您需要的验证,但您可以轻松创建自定义验证:

尝试这样的事情:

class Post < ActiveRecord::Base
  validate do
    if ... # any custom logic goes here
      errors.add :title, "is wrong"
    end
  end
end

您可以进行自定义验证:

validates :category, uniqueness: true
validate :category_in_1_word

private

def category_in_1_word
  if category.to_s.squish.split.size != 1
    errors.add(:category, 'must be 1 word')
  end
end

你可以试试:

validates :category, :format => { :with => /^[A-Za-z]+$/, :message => "Must be single word" }