Простая библиотека проверки входных данных Ruby - PullRequest
11 голосов
/ 05 августа 2010

Я искал повсюду простую библиотеку проверки ввода для Ruby.Кажется, все указывает на ActiveRecord (или подобное).Я не использую Rails, я использую Sinatra без ORM.Каков наилучший подход для проверки пользовательского ввода (без привязки непосредственно к слою модели)?Простые вещи, такие как «длина строки», «числовой» и т. Д. Предпочтительно с красивым механизмом объявления сообщений об ошибках.

Ответы [ 3 ]

9 голосов
/ 05 августа 2010

Вы можете использовать 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
0 голосов
/ 06 января 2019

Я тоже написал один, потому что был разочарован существующими решениями.Вы можете попробовать https://github.com/Goltergaul/definition Он может выполнять все виды проверок, аналогичные проверке в сухом режиме, но менее запутанный

0 голосов
/ 01 января 2014

Ну, я написал один мой http://rubygems.org/gems/validates_simple, я надеюсь, что это поможет.Он проверяет хэши, которые являются наиболее распространенной структурой ввода в веб-приложениях.

...