Reputation: 9527
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?
Upvotes: 4
Views: 944
Reputation: 72
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.
Upvotes: 0
Reputation:
It looks like a bug in PowerShell. I've filed it here: https://connect.microsoft.com/PowerShell/feedback/details/812233/auto-completed-values-with-spaces-do-not-have-quotes-around-them
Upvotes: 3