具有读取主机的PowerShell ValidateLength

时间:2014-07-02 17:16:11

标签: powershell

我正在尝试将ValidateLength声明与Read-Host一起使用,但我无法使其工作。如果我在没有Read-Host的情况下使用它,它可以完美无缺。以下是一些基本示例:

[ValidateLength(1,3)] $ test =' 123'

[ValidateLength(1,3)] $ test1 = Read-Host 123 无法添加属性,因为它会导致变量test1具有值 123变为无效。 在行:1个字符:1 + [ValidateLength(1,3)] $ test1 = Read-Host + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     + CategoryInfo:MetadataError:(:) [],ValidationMetadataExcepti    上     + FullyQualifiedErrorId:ValidateSetFailure

是否可以将ValidateLength声明与Read-Host一起使用?

1 个答案:

答案 0 :(得分:2)

将您的Read-Host声明为字符串(因为ValidateLength不能接受除字符串之外的任何内容)并且问题已解决。

[ValidateLength(1,3)]$test1 = [String](Read-Host "Input")

我不确定你为什么要在其上施放类型,但它解决了这个问题。