Excuse moi en fait je n'avais pas compris je pense ton problème.

Tu as deux champs dictincts dans ton modèle et si l'un est rempli l'autre
doit être vide?

Je n'ai jamais fais ça mais je peut peut être un peut t'éclairer sur le
fonctionnement du if dans validates_presence_of
Si je regarde l'api, ce if doit faire réfèrence a une string, un proc ou une
function qui doit retourner ou puisse être évalué comme true ou false

donc tu pourrais par exemple faire:

validates_presence_of :nomduchamp, :if => :autrechamp_present?

protected
def autrechamp_present?
    #processus de verification ici
end
On 5/15/07, Noe <[EMAIL PROTECTED]> wrote:
>
>
> Hello!
>
> Oui oui, c'est déjà fait :) Mais merci quand même!
>
> Mais ce que je voudrais c'est vraiment vérifier uniquement la présence
> d'un champ si l'autre n'est pas rempli et inversement...
>
> Noé
>
> On 15 mai, 10:04, "Aurélien Bottazini" <[EMAIL PROTECTED]> wrote:
> > Salut,
> >
> > je pense que tu pourrais peut être coupler l'utilisation de
> >
> > validates_presence_of avec validates_format_of
> >
> > exemple:
> >
> > validates_presence_of :nomduchamp
> >
> > validates_format_of :nomduchamp, :with =>
> > /\A([EMAIL PROTECTED])@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, :on => :create
> >
> > En adaptant l'expression régulière du :with a ton cas.
> >
> > On 5/14/07, Noe <[EMAIL PROTECTED]> wrote:
> >
> >
> >
> > > J'ai un modèle qui doit contenir soit le nom d'une personne, soit un
> > > nom d'une société (ou l'un et l'autre, mais en tout cas
> > > obligatoirement soit l'un soit l'autre).
> >
> > > Je me suis donc tourné vers la méthode "validates_presence_of".
> >
> > > Il se trouve que avec cette méthode je peux vérifier que j'ai les 2
> > > mais dès qu'il en manque un des 2, il aime pas (logique...).
> >
> > > Je comprend pas très bien la syntaxe du
> > > validates_presence_of :nomchamp, :if => ... qui me serait bien utile
> > > dans mon cas je pense.
> >
> > > Quelqu'un aurait déjà essayé?
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---

Répondre à