如果我做
validates :body, :presence => true, :length => {:maximum => 30000, :message => ' is a bit long...'}
validates :body, :length => {:minimum => 10, :message => ' is a bit short...'}
我仍然有可能只包含
spaces
和/r
或/n
的文本-不可见的字符,尽管该文本根据定义不是空白的,但通过查看它却是空白的如何验证文本的最小和最大长度是否在上面列出并且也可见(不可以有10个空格)
最佳答案
Rails添加了方便的方法blank?
,该方法检查here中所述的false,nil和空字符串。
Rails还添加了方便的验证器allow_blank: false
。
因此,在您的情况下应该是:validates :body, presence: true, allow_blank: false
编辑(上面的原始答案):
如下面的答案所述,不需要allow_blank: false
,因为这是presence: true
的默认行为。
关于ruby-on-rails-3 - 如何验证文本在Rails中不是空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15482354/