Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Simple Ruby Input Validation Library

I've been looking all over the place for a simple input validation library for Ruby. Everything seems to point towards ActiveRecord (or similar). I'm not using Rails, I'm using Sinatra without an ORM. What's the best approach for validating user input (without tying directly to the model layer)? Simple things like "string length", "is numeric" etc. Preferably with a nice mechanism for declaring error messages.

like image 679
Franky-D Avatar asked Aug 05 '10 15:08

Franky-D


1 Answers

You could use ActiveModel::Validations, from 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
like image 155
Greg Campbell Avatar answered Oct 07 '22 00:10

Greg Campbell