所以,我有一个带有以下验证的剪辑模型:
class Clip < ActiveRecord::Base
DESCRIPTION_MAX_LENGTH = 200
validates_length_of :description, maximum: DESCRIPTION_MAX_LENGTH
....
end
然而,当编辑剪辑的描述时,我似乎得到验证错误,即使描述只有92个字符。
我做错了什么?它应该允许描述最多200个字符的长度。
修改(包含错误讯息):
Description is too long (maximum is 200 characters)"
答案 0 :(得分:0)
ActiveModel :: Validations :: HelperMethods.validates_length_of是验证字符串长度的老式方法。你最好使用ActiveModel :: Validations :: ClassMethods.validates,如:
class Clip < ActiveRecord::Base
validates :description, length: { maximum: 200 }
end
两种验证方法都以调用LengthValidator结束。
APIdock ActiveModel::Validations::HelperMethods.validates_length_of
顺便说一句,由于常量仅用于验证器,因此我不会为长度值设置单独的常量。
答案 1 :(得分:-2)
所以,我找到了解决方案。我使用富文本编辑器编辑描述,允许用户在实际描述中添加样式。
然而,正因为如此,这就是这个片段的描述:
当<2>被
捕获时因此,您的描述中的样式越多,将更多字符作为html / css标签/样式添加到描述中
我必须进行验证400。