ValidateSet values with spaces

941 Views Asked by At

Here's an example of ValidateSet where the values are strings which contain spaces:

function Test-ValidateSet
{ 
    param ([ValidateSet("abc def", "ghi jkl")][String]$Val) 

    $Val 
}

The IntelliSense works, however the completed value isn't quoted.

Is there a way to get the completed values to be quoted?

2

There are 2 best solutions below

0
On
1
On

You'll have to quote yourself:

[ValidateSet("'abc def'", "'ghi jkl'")]

Though that looks silly if you intellisense after adding quotes in the command line:

Test-ValidateSet -Val ''ghi jkl''

DynamicParam doesn't work well with quoted values either.