在ActiveRecord模型中,當同時使用validates_length_of
時,最佳實踐/必需使用validates_presence_of
?如果使用validates_length_of,validates_presence_of是否必要?
例如:
class Company < ActiveRecord::Base
validates_presence_of :name
validates_length_of :name, :in => 5..30
end
對我來說,這似乎是多餘的。長度在5到30之間意味着該屬性也存在,但我看到這個用處無處不在。這還意味着用戶會收到兩條關於相同缺失屬性的錯誤消息,而實際上只有一條是需要的。
我錯過了什麼,或者當人們在驗證數據時過於狂熱?
對,這就是我的想法。 :allow_nil僅在公司名稱必須介於5到30個字符之間或可能丟失時纔有用。如果您希望公司名稱的長度介於5到30個字符之間,您*不需要:allow_nil。 – mlambie