仅在填充时验证表单字段

时间:2012-08-26 15:21:32

标签: ruby-on-rails validation model

我有一个表格中的字段是可选的但是如果它已经完成我想验证它是一个整数值。在我的模型中,我有:

validates :number_of_employees, numericality: { only_integer: true }

这样可行,但是当我提交未完成值的表单时,会引发错误,因为它不是数字。我知道你可以把if和if条件放在validates语句中,但不确定这是否是正确的处理方法或检查是否存在语法。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:2)

不使用:if选项,允许空字段通过验证的惯用方法是使用:allow_blank选项。除了presence验证器之外,所有验证器都是通用的。

validates :number_of_employees, numericality: { only_integer: true, allow_blank: true }