Forum: Rails France Like dans validates_exclusion_of ?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
B1ad30497d30c983b8a9f4c6cf6fd509?d=identicon&s=25 ben ******* (babiben)
on 2009-04-27 15:10
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
2fd0206c71a1b22a9cc6293f38537461?d=identicon&s=25 Cyril Mougel (shingara)
on 2009-04-27 16:00
(Received via mailing list)
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 Mougel
http://blog.shingara.fr
This topic is locked and can not be replied to.