0

给定字段验证,如下所示:

validates :entity_type, inclusion: { in: %w(1 2), message: "is invalid" }

如果用户为该字段输入 nil 将返回的错误消息是

“不能为空”、“无效”</p>

如果字段的输入值为 nil,如何更改此验证以便仅返回“不能为空白”?

在这种情况下,我们不希望 nil 成为有效值,只是为了清理验证消息。

4

1 回答 1

0

我在任何地方都没有看到任何关于此的文档,所以想给出一个答案。

答案是allow_nil: true与包含验证器一起使用。

validates :entity_type, inclusion: { in: %w(1 2), message: "is invalid" }, allow_nil: true

使用这意味着如果为该字段提供 nil 值,则验证器只会返回“不能为空”消息,而非 nil 无效值将继续正常工作。

于 2017-09-18T15:52:56.573 回答