IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

astuce avec les attributs de validation


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut astuce avec les attributs de validation
    salut,



    hier, en jouant avec l'attribut de validation [validateRange()]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PS> help validater | select-string 'validateRange$' -co 0,17
    je suis tombé sur un comportement non documenté de cet attribut...voici mes tests:


    test1:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function foo-int32 {
    Param (
    [Parameter()]
    [ValidateRange(500kb,200mb)]
    $inter
    )
    $inter
    }
    test2:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function foo-date {
    Param (
    [Parameter()]
    [ValidateRange('1/1/2012','1/3/2012')]
    $date
    )
    $date
    }
    test3:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function foo-letter {
    Param (
    [Parameter()]
    [ValidateRange('e','f')]
    $letter
    )
    $letter
    }

    test4:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function foo-time {
    Param (
    [Parameter()]
    [ValidateRange("03:36:40", "03:36:49")]
    $time
    )
    $time
    }

    test5:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function foo-int32 {
    Param (
    [Parameter()]
    [ValidateRange(5*7,8*6)]
    $inter
    )
    $inter
    }

    surprenant...non !?

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Bonjour Walid
    Citation Envoyé par I'm_HERE Voir le message
    e suis tombé sur un comportement non documenté de cet attribut
    La doc ne précise pas que cet attribut porte sur le type Object.
    Mais ILSpy ou Reflector permettent de le savoir.

    Ton test deux est erroné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $D1="2/1/2012" -as [datetime]
    $D2="28/2/2012" -as [datetime]
    foo-date $d1 $d2
    #Exception...
    En passant la version 3 propose, en dehors de la clause Param, la déclaration suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #Source :http://kazunposh.wordpress.com/
    [ValidateRange(500kb,200mb)]$inter=700kb
    4 ans après cela prend forme :
    http://laurent-dardenne.ftp-developp...PowerShell.pdf

Discussions similaires

  1. [XSLT] Méthode Muench avec les attributs
    Par prgasp77 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 17/02/2008, 16h20
  2. [SAXON & XQUERY] Problème avec les attributs
    Par CynO dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 18/04/2007, 21h05
  3. [Custom Tags 2.0] Problème avec les attributs
    Par uliss dans le forum Taglibs
    Réponses: 1
    Dernier message: 12/02/2006, 22h31
  4. probleme avec les attributs de type ID
    Par ben83 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 01/01/2006, 21h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo