Sources/Validators/Enum.ps1
|
using namespace Belin.Validation <# .SYNOPSIS Creates a new validator that ensures the validated value exists in a specified enumeration. .OUTPUTS The newly created validator. #> function New-ValidatorEnum { [CmdletBinding()] [OutputType([Belin.Validation.ComparisonValidator])] param ( # An enumeration type. [Parameter(Mandatory, Position = 1)] [Type] $Type, # The error message describing the validation failure. [Parameter(Mandatory, Position = 2)] [string] $Reason ) [ComparisonValidator]@{ Reason = $Reason Test = { [Enum]::IsDefined($this.Value, $_) } Value = $Type } } |