2010-08-05 16 views
11

He estado buscando por todas partes una biblioteca de validación de entrada simple para Ruby. Todo parece apuntar hacia ActiveRecord (o similar). No estoy usando Rails, estoy usando Sinatra sin un ORM. ¿Cuál es el mejor enfoque para validar la entrada del usuario (sin vincularlo directamente a la capa del modelo)? Cosas simples como "longitud de cadena", "es numérica", etc. Preferiblemente con un buen mecanismo para declarar mensajes de error.Biblioteca de validación de entrada de Ruby simple

Respuesta

9

Usted podría utilizar ActiveModel :: validaciones, desde los carriles 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

Gracias por la sugerencia y el ejemplo. Sin embargo, estoy buscando algo que no vincule las validaciones con los modelos. –

+0

El ejemplo que proporcioné funcionará con cualquier clase de Ruby que tenga atributos. ¿Puede dar un ejemplo (código o pseudocódigo) de la forma en que desea que funcione la validación? –

+0

Terminé yendo por esta ruta. Gracias. –

Cuestiones relacionadas