验证Rails属性存在但允许空字符串

时间:2018-05-02 23:15:37

标签: ruby-on-rails ruby validation activerecord

我想验证字符串属性不是nil,但允许空字符串。

如:

validates name: not_nil, allow_empty: true

3 个答案:

答案 0 :(得分:2)

您也可以这样做:

validates :name, exclusion: { in: [nil] }

答案 1 :(得分:1)

要允许空字符串,但在活动记录验证回调中拒绝nil,请使用条件proc来有条件地要求存在属性(如果它不是nil。)

所以代码如下:

validates :name, presence: true, if: proc { name.nil? }

但是你可能想要允许null。然后不要验证。还在检查存在吗?代码为nil或空字符串。

答案 2 :(得分:1)

或者

validates :name, presence: true, allow_blank: true