2012-04-10 57 views
1

我正在嘗試使用Rails驗證表單文本框來查看輸入的文本是否與數據庫中某個表的特定列中的任何現有值匹配。這可能與Rails?Rails 3驗證 - 與數據庫值比較

基本上,這樣的:

用戶輸入 'Foobar的'

表列值: 'Foobar的,測試,房子,隨機'

驗證未通過,因爲 'Foobar的' 已在數據庫。

謝謝! dwmcc

回答

1

你可以做到這一點與在Rails 3的像validates_uniqueness_of :name或新的模型,你可以做多重驗證內嵌validates :name, :presence => true, :uniqueness => true

From the Rails API

+0

謝謝,還有兩個問題:如何使匹配的大小寫不敏感,以便應用程序不會接受'Foobar',因爲數據庫中已經存在'FOOBAR'?我怎樣才能驗證基於另一個表的字段的唯一性?爲了澄清,我如何驗證我的數據庫中的另一個表中不存在'Foobar'?謝謝! – dwmcc 2012-04-11 22:19:58

+2

'validates_uniqueness_of:name,:case_sensitive => false' – 2012-04-11 22:28:16

+1

至於你的問題的第二部分,我不知道。我認爲這足夠複雜,需要提出一個新問題。 – 2012-04-11 22:28:55