jrob24
jrob24

Reputation: 454

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?

Upvotes: 0

Views: 957

Answers (1)

TheMadTechnician
TheMadTechnician

Reputation: 36322

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.

Upvotes: 2

Related Questions