Ho cercato dappertutto una semplice libreria di convalida dell'input per Ruby. Tutto sembra puntare verso ActiveRecord (o simile). Non sto usando Rails, sto usando Sinatra senza un ORM. Qual è l'approccio migliore per convalidare l'input dell'utente (senza legarsi direttamente al livello del modello)? Cose semplici come "lunghezza della stringa", "è numerico" ecc. Preferibilmente con un buon meccanismo per la dichiarazione dei messaggi di errore.Libreria di convalida degli input Ruby semplice
11
A
risposta
9
Si potrebbe utilizzare ActiveModel :: Validazioni, da 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
Beh ho scritto una mia auto http://rubygems.org/gems/validates_simple, spero che sarà di aiuto. Convalida gli hash che è la struttura più comune dell'input nelle applicazioni web.
Problemi correlati
- 1. Libreria di convalida di spostamento degli scacchi
- 2. Libreria di convalida Python semplice che segnala tutti gli errori di convalida anziché prima falliti?
- 3. Convalida semplice dei dati
- 4. Convalida casella di controllo JavaScript semplice
- 5. Convalida utente molto semplice
- 6. Errore di input Python semplice
- 7. Convalida del modulo; Ottieni tutto "input type = text" e convalida?
- 8. Convalida testo di input in modal bootstrap
- 9. Libreria di immagini C semplice?
- 10. Convalida numero intero per input
- 11. Quale libreria di convalida per ASP.NET MVC?
- 12. HTML/Javascript: convalida semplice modulo su invio
- 13. C'è un modo semplice per installare la libreria Lisp come ruby gem (Ruby) o easy_install (Python)?
- 14. Rails convalida l'univocità degli intervalli di date
- 15. jQuery convalida l'array di input dinamico
- 16. Convalida numero telefonico semplice IPhone
- 17. Libreria server AtomPub semplice
- 18. Libreria di grafici per Ruby
- 19. Errori di convalida di Ruby on Rails
- 20. Sintassi semplice per test Errori di convalida
- 21. Convalida degli input dell'array usando il plug-in di validazione jquery
- 22. Ruby on Rails - Token di input JS, un problema quando la convalida fallisce
- 23. Convalida schema XSD in Ruby
- 24. Ruby: libreria KML?
- 25. Standard di convalida degli argomenti metodo/metodo
- 26. Ruby Jabber/libreria Jingle
- 27. Quale libreria di convalida java devo usare?
- 28. Libreria di convalida dello schema JSON
- 29. Blocchi di convalida della libreria Enterprise
- 30. jQuery: Eliminazione degli input di form
Grazie per il suggerimento e l'esempio. Tuttavia, sto cercando qualcosa che non leghi le convalide ai modelli. –
L'esempio che ho dato funzionerà con qualsiasi classe Ruby che abbia attributi - puoi dare un esempio (codice o pseudocodice) del modo in cui desideri che la validazione funzioni? –
Ho finito per percorrere questa strada. Grazie. –