2012-02-28 83 views
1

我有一個半複雜的應用程序,我正在建設有各種嚮導和屏幕。我想做服務器端驗證,但不使用在rails中內置的驗證。基本上,我需要在不同的上下文中對相同類型的對象進行不同類型的驗證。在一種情況下,我可以驗證對象屬性中的三分之五。在另一個只有一個,在所有的三分之一。我真的不想在我的模型驗證中有一堆:if => {} lambdas。隨着上下文數量的增長,這會變得很難看。替代Rails驗證框架

是否有一些替代驗證框架的軌道可以做到這一點?

+0

其他人有什麼建議嗎? :) – fregas 2012-03-03 17:11:39

回答

1

我有同樣的需要。您可能會看看Verity和語義屬性。兩者都有自己的DSL來定義驗證。我想,語義屬性取決於軌道。

+0

不錯!我正在爲我的下一個項目尋找語義。 – fregas 2012-07-19 22:35:24

2

考慮將複雜的驗證規則提取到它們自己的類中,然後將extend提取到基本模型類中。

+0

我不確定你的意思。你是說我可以把驗證放在模塊中,然後在運行時使用擴展將它們添加到模型中? – fregas 2012-02-28 22:46:56

+0

我試過了,但rails中的驗證方法必須進入一個類或失敗。然而,擴展,需要一個模塊。 – fregas 2012-03-01 16:18:09