我有一个注释模型,其中我限制像注释的最大长度:轨,验证输入字段的最大长度
validates_length_of :comment, :maximum => 500
在我看来,我有输入字段声明:
<%= f.text_area :comment,:as => :text, :maxlength => 500 %>
的对输入字段的限制按预期工作,它限制为最多500个字符。
但是,模型限制不能按预期工作。包含换行符的500个字符的文本会导致验证错误。该模型将换行符计为两个字符(以及其他可能的字符)。所以
该输入将工作,没有换行:
abc abc abc abc....
这不会:
abc
abc
.
.
有一个简单的方法,使validates_length_of数换行符(及其他)作为一个字符? 。
===结果1 ===
我结合乔恩和达里奥伟大的答案,并创造了这个:
before_validation(:on => :create) do
self.comment = comment.gsub("\r\n","\n") if self.comment
end