验证属性的长度(如果存在)

Validate attribute's length if present

如何在不需要模型属性存在的情况下进行验证,但如果存在,属性的长度必须超过三个字符?

您可以使用 allow_blank: truenilallow_nil: true 允许属性为空,并检查 length: :

validates :attr, length: { minimum: 4 }, allow_blank: true
validates :attr, length: { minimum: 4 }, allow_nil: true

您也可以使用 if:unless: :

validates :attr, length: {minimum: 4}, unless: -> (item) { item.blank? }