Я искал повсюду для простой библиотеки проверки ввода для Ruby. Все, кажется, указывает на ActiveRecord (или аналогичный). Я не использую Rails, я использую Sinatra без ORM. Какой лучший подход для проверки ввода пользователя (без привязки непосредственно к слою модели)? Простые вещи, такие как "длина строки", "числовые" и т.д. Предпочтительно с хорошим механизмом для объявления сообщений об ошибках.
Простая библиотека проверки входа в Ruby
Ответ 1
Вы можете использовать ActiveModel:: Validations, из 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
Ответ 2
Ну, я написал одно свое http://rubygems.org/gems/validates_simple, надеюсь, это поможет. Он проверяет хэши, которые являются наиболее распространенной структурой ввода в веб-приложениях.