2012-08-26 27 views
1

我有一個可選的表單域,但如果它已完成,我想驗證它是一個整數值。在我的模型,我有:只有在填充時驗證表單域

validates :number_of_employees, numericality: { only_integer: true } 

這個工作,但是當我提交表單與價值沒有完成,因爲它不是數字,它會引發錯誤。我收集你可以把,如果條件在驗證聲明,但不知道這是否正確的方式來處理這個問題或語法是檢查存在。

任何幫助表示讚賞。

回答

2

與使用:if選項相比,允許empt字段通過驗證的慣用方法是使用:allow_blank選項。除presence驗證程序外,所有驗證程序都很常見。

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

太棒了 - 謝謝。我在文檔中錯過了。它完美的作品。 –