Skip to main content

Posts

Showing posts with the label ValidateRange

PowerShell Validation Attributes -- validates in assignment

Validation Attributes in PowerShell ...Eh! I use them like everyday when I script.......But I noticed this thing recently. So suppose I have a sample function below: Now as you see it's nothing fancy..so just run it PS C:\> Test-ValidateRange -Param1 8 Param1 = 8 The variable cannot be validated because the value 11 is not a valid value for the Param1 variable. At line:19 char:5 + $Param1 = 11 + ~~~~~~~~~~~~ + CategoryInfo : MetadataError: (:) [], ValidationMetadataException + FullyQualifiedErrorId : ValidateSetFailure Param1 = 8 PS C:\> It seems that the validation attribute not only just run at the time when you first call the function ..but once you have defined a validation attribute on a parameter then through the lifetime of that variable/parameter if you do assign a new value to it then the validation attribute run against it ..thus guaranteeing that it has the value you wanted. To better see it you can save the file ...