Powershell işlevlerini ve geçerli parametrelerini inceliyorum. Ancak gerçekten yararlı olup olmadığını anlayamıyorum.doğrulama parametreleri gerçekten faydalı?
Basit bir örnek oluşturuyorum.
function get-choice(
[parameter(Mandatory=$true)][String][ValidateSet('Y','N')]$choice
)
{return $choice}
get-choice k
Bu fonksiyon bana bu hata verir:
get-choice : Impossibile convalidare l'argomento sul parametro 'choice'. L'argomento "k" non appartiene al set "Y,N" specificato dall'attributo ValidateSet. Fornire un argomento inclu
so nel set ed eseguire di nuovo il comando.
In riga:6 car:11
+ get-choice <<<< k
+ CategoryInfo : InvalidData: (:) [get-choice], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,get-choice
benim kodu içinde bunları kontrol edebilirsiniz değerlerin geçerli bir grubu belirtmek yoksa:
function get-choice2(
[parameter(Mandatory=$true)][String]$choice
) {
if($choice -ne 'y' -and $choice -ne 'n') {
write-host "you must choose between yes and no"
return
}
return $choice
}
get-choice2 k
ve ben olsun daha uygun mesaj:
Öncelikle validateset kullanarak hata mesajını özelleştirmek mümkün olup olmadığını bilmek istiyorum. O zaman birisinin neden ilk yaklaşımı tercih etmem gerektiğini açıklayabileceğini umuyorum. Şimdiden teşekkürler.
Ayrıca, ValidateSet'in hata mesajının yapabileceğiniz her şeyden çok daha kolay olduğunu da söyleyebilirim. Kullanıcılarınız PowerTab kullanıyorsa, Artı ValidateSet bazı sekme genişletme özelliğini ekleyecektir. – JasonMArcher
Teşekkür ederim çok stej. Açıklamanız çok açıktı. Bağlantıyı okudum ama şu andaki bilgilerimin dışında. Tekrar teşekkürler :) –