简体   繁体   中英

PowerShell ValidateLength with Read-Host

I am trying to use ValidateLength declaration with Read-Host, however I cannot get it to work. If I use it without Read-Host it works flawless. Here are some basic examples:

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

[ValidateLength(1,3)]$test1 = Read-Host 123 Attribute cannot be added because it would cause the variable test1 with value 123 to become invalid. At line:1 char:1 + [ValidateLength(1,3)]$test1 = Read-Host + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : MetadataError: (:) [], ValidationMetadataExcepti on + FullyQualifiedErrorId : ValidateSetFailure

Is it possible to use ValidateLength declaration with Read-Host?

Declare your Read-Host as a string (since ValidateLength can not accept anything except a string) and the problem is solved.

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

I am not sure why you have to cast a type on it, but it solves the problem.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM