Param ValidateSet with spaces in values

Welcome Forums General PowerShell Q&A Param ValidateSet with spaces in values

This topic contains 1 reply, has 2 voices, and was last updated by

3 years, 10 months ago.

  • Author
  • #23987

    Points: 36
    Rank: Member

    I have written a script in which I realized that ne of the parameters may be too confusing for the end user type. So I wanted to validate the set and supply the valid values to be used. The values have spaces in them and when I validate the set I am given the choices as I would expect when running the script. But, since there are spaces in the value, the script errors out. I want to include the quotes ("some value") in the values of the validates parameter set but cannot figure how to do it. I have tried double and single quoting. I can get the value to show up as a quoted value but then I get the error that the value supplied is not part of the set.

    param [
    [Validateset('some value','Another value','this is the third value')]

    This produces an unquoted value when using the script.

    When I try inserting double quotes within the single quote...

    param (
    [Validateset('"some value"','"Another value"','"this is the third value"')]

    I can get the quoted text to show for the script parameter but it errors out with "the argument XXXXXX does not belong to the set"

    How can I get arguments with spaces to correctly show the quotes when using validateset? I have even tried escaping but cant seem to figure it out.


  • #23989

    Points: 0
    Rank: Member

    That's a bit of a blind spot in PowerShell's current tab completion logic. However, this question came up recently in another thread, and Rohn Edwards came up with a pretty cool solution:

The topic ‘Param ValidateSet with spaces in values’ is closed to new replies.

denizli escort samsun escort muğla escort ataşehir escort kuşadası escort