Like dans validates_exclusion_of?


#1

Bonjour,

J’ai une petite question sur le validates_exclusion_of pour exclure
certains mots. Je souhaite exclure un mot par exemple “maison”.

J’utilise mon "validates_exclusion_of :name :in => %w( maison ),
:message => “Mot interdit”

Le probleme est que si je saisie mammaison, ça fonctionne. Est ce qu’il
est possible d’utiliser un like à la place du in ? Faire une sorte de
like %maison% ?

merci


#2

Le 27 avr. 09 à 15:10, Monseigneur babiben a écrit :

qu’il
est possible d’utiliser un like à la place du in ? Faire une sorte de
like %maison% ?

Si tu regardes le code de validates_exclusion_of tu constateras qu’il
test avec un simple include. Il n’y a aucune relation avec une base de
donnée quelconque.

Ce que tu peux par contre faire sans soucis est ton propre validates :

def validates

[/maison/].each do |pattern|
if my_field ~= pattern
errors.add(…)
end
end
end


Cyril M.
http://blog.shingara.fr