2011-01-18 4 views
10

Je suis à la recherche de "The Rails Way" pour écrire une validation qui limite les valeurs d'entrée acceptables à une liste prédéterminée.Rails Validation: Limiter l'entrée à des valeurs spécifiques

Dans mon cas, je veux seulement accepter les valeurs "-5", "-2", "+2", "+5", et zéro. Cependant, je pense que c'est mieux comme une question générale: comment prédéfinir une liste de valeurs d'entrée acceptables dans un modèle Rails?

Merci!

+0

réponses Great, merci! Je choisis Costa parce que les réponses sont les mêmes et Costa a environ 2500 moins de réputation :) Vive les deux. – Andrew

+1

Je comprends que c'était il y a longtemps, mais j'aurais recommandé la réponse de Beerlington en raison de l'inclusion de liens et d'autres suggestions valides. La qualité est le décideur que nous voulons toujours. :) –

Répondre

17

validates_inclusion_of devrait fonctionner. Par exemple:

validates_inclusion_of :attr, :in => [-5, -2, 2, 5], :allow_nil => true 
8

Vous voulez utiliser validates_inclusion_of avec les :in et :allow_nil options.

validates_inclusion_of :field, :in => %w(-5 -2 2 5), :allow_nil => true 

Vous voudrez probablement aussi utiliser conjointement avec validates_numericality_of

Questions connexes