1
我有一個模型,在'name'屬性上有2個驗證。它是這樣的:根據以前的驗證防止導軌驗證
validates :name, :uniqueness => true
validate do
errors.add(:name, "is dumb") if name_is_dumb?
end
我不想第二次驗證,如果第一個驗證失敗運行(名稱不是唯一的)。
什麼是最好和最乾淨的方式來做到這一點?
我有一個模型,在'name'屬性上有2個驗證。它是這樣的:根據以前的驗證防止導軌驗證
validates :name, :uniqueness => true
validate do
errors.add(:name, "is dumb") if name_is_dumb?
end
我不想第二次驗證,如果第一個驗證失敗運行(名稱不是唯一的)。
什麼是最好和最乾淨的方式來做到這一點?
回調一般都在定義它們的 順序運行,與 例外定義爲 方法的模型,這是所謂的 最後的回調。
所以下面的代碼片段應該工作:
validates :name, :uniqueness => true
validate do
errors.add(:name, "is dumb") unless errors[:name].nil?
end
也許選中「錯誤」內容 – apneadiving 2011-02-04 19:05:12