2010-08-05 53 views
11

我一直在尋找Ruby的簡單輸入驗證庫。一切似乎指向ActiveRecord(或類似)。我沒有使用Rails,我沒有使用ORM使用Sinatra。驗證用戶輸入的最佳方法是什麼(不直接綁定到模型層)?簡單的東西,比如「字符串長度」,「數字」等等。最好用一個很好的機制來聲明錯誤消息。簡單的Ruby輸入驗證庫

回答

9

你可以加載ActiveModel使用驗證::從Rails 3的RC:

require 'active_model' 
# this appears to be a bug in ActiveModel - it uses this, but does not require it 
require 'active_support/core_ext/hash' 

class Model 
    include ActiveModel::Validations 

    attr_accessor :name 
    validates_presence_of :name 
end 

m = model.new 
puts m.valid? # false 
m.name = "John Doe" 
puts m.valid? # true 
+0

感謝您的建議和示例。但是,我正在尋找一些不會將驗證與模型綁定的內容。 – 2010-08-06 11:45:07

+0

我給出的例子將適用於任何具有屬性的Ruby類 - 您可以給出一個您希望驗證工作方式的示例(代碼或僞代碼)嗎? – 2010-08-06 18:03:31

+0

我最終走了這條路。謝謝。 – 2010-08-29 19:32:15