2009-10-27 30 views
72

我需要驗證對象(行)中的兩個字段的唯一性,然後再添加它們。 Employee_id和area_id是我emp_area表中的兩個字段。可以有多個具有相同employee_id的記錄和具有相同area_id的多個記錄,但是沒有兩個記錄可以具有相同的employee_id和相同的area_id。這有點像構成主鍵或唯一鍵的兩個字段。如何驗證兩個字段的唯一性

我該怎麼做。

感謝

+0

這是它謝謝! – johnc 2010-12-24 08:24:10

+0

[您如何驗證Ruby on Rails中一對ID的唯一性?](http://stackoverflow.com/questions/923796/how-do-you-validate-uniqueness-of-a-pair- nd-ids-in-ruby-on-rails) – 2014-07-01 16:00:00

回答

69
validates_uniqueness_of :employee_id, :scope => :area_id 
96

這個怎麼解決Validate combined values

validates :employee_id, uniqueness: { scope: :area_id } 
+3

這似乎比'validates_uniqueness_of'更受歡迎,因爲它允許你在同一個表單上設置多個驗證,例如'存在:真實'。 – 2015-04-27 19:26:48

+0

要正確突出顯示我創建的錯誤消息,還需要 驗證:area_id,唯一性:{scope:employee_id} – Mauro 2016-08-05 14:28:08