jnmrclg...@free.fr a écrit :
Bonjour.

Mettons l'application suivante.

Une interface IClient qui définit le contenu de Client : nom, prénom, homme ou 
femme.
Je souhaite obtenir un n° de téléphone s'il s'agit d'une femme (désolé pour le 
machisme du propos...). Ce qui donnerait, aux imports près :

class IClient(Persistent):

class IClient(Interface):


(Persistent, c'est pour les classes qui implémentent cette interface) :

class Client(Persistent):
   implements(IClient)
   ...etc...


    '''renseignement sur un client'''
    nom=TextLine(
        title="Nom",
        description="Nom du client",
        required=True,
        )

    prenom=TextLine(
        title="Prénom",
        description="Prénom du client",
        required=True,
        )

    genre=Choice(
        title="Genre",
        description="Genre du client",
        values=[u'Femme',u'Homme'],
        required=True,
        )

    telephone=TextLine(
        title="Téléphone",
        description="Numéro de téléphone s'il s'agit d'une femme",
        required=True if genre=Femme   <------ est-ce ici qu'il faut rajouter 
une condition ?

Ça doit pouvoir se faire avec un invariant.
http://svn.zope.org/zope.schema/trunk/src/zope/schema/validation.txt?rev=96012&view=markup


        )

Ou alors est-ce qu'il faut que je fasse mumuse avec des conteneurs à contraintes ? Auquel cas je limite le schéma IClient aux trois premiers champs (nom/prénom/genre) et j'enchaîne avec une interface ITelephone que je déclenche si besoin... brrr pas simple tout ça...
Merci d'avance pour votre aide !

JMarc

PS : en fait, je cherche une solution pour demander une adresse aux clients en 
fonction de leur pays d'origine (formats différents)...
_______________________________________________
zope3-french-user mailing list
zope3-french-user@lists.afpy.org
http://lists.afpy.org/mailman/listinfo/zope3-french-user



_______________________________________________
zope3-french-user mailing list
zope3-french-user@lists.afpy.org
http://lists.afpy.org/mailman/listinfo/zope3-french-user

Répondre à