對布爾型字段模型進行驗證有什麼好處嗎?驗證或不驗證布爾型字段
我有一個驗證,以確保一個布爾字段
validates :boolean_attribute, presence: true
它失敗時boolean_attribute是假的存在。我搜索了一下,發現了與這個問題有關的SO問題。
Rails database defaults and model validation for Boolean fields
Rails validates_presence not validating on Boolean?
加入此確認,而不是
validates :field, :inclusion => {:in => [true, false]}
這讓我想想。我是否需要對布爾字段進行任何驗證?它的價值永遠是真的還是假的或無對的?即使有人惡意地試圖改變它說一個數字,這種類型是不是會照顧它呢?或者上述包含驗證提供了一些安全性嗎?
是的,我通常不打擾。如果該字段是強制性的 - 您可以使用上面的包含技巧,並確保在列上放置'null:false' –
如果您需要該值爲「true」或「false」而不是「nil」,那麼你想使用驗證。如果'true','false'和'nil'都可以,你不需要驗證。哪些對你來說是正確的取決於你的用例。 –
@Jordan:只要ruby驗證它爲false並且沒有可能會破壞系統的場景,我就會很酷。有沒有? –