मैं पावरहेल फ़ंक्शंस और इसके मान्य पैरामीटर का अध्ययन कर रहा हूं। हालांकि मैं समझ नहीं पा रहा हूं कि वे वास्तव में उपयोगी हैं या नहीं।सत्यापन पैरामीटर वास्तव में उपयोगी हैं?
मैं एक साधारण उदाहरण बना देता हूं।
function get-choice(
[parameter(Mandatory=$true)][String][ValidateSet('Y','N')]$choice
)
{return $choice}
get-choice k
इस समारोह मुझे इस त्रुटि देता है:
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
मैं मूल्यों का कोई मान्य समूह मैं उन्हें अपने कोड के भीतर जांच कर सकते हैं निर्दिष्ट नहीं करते हैं:
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
और मैं एक और दोस्ताना संदेश:
you must choose between yes and no
सबसे पहले मैं जानना चाहता हूं कि वैधता का उपयोग कर त्रुटि संदेश को कस्टमाइज़ करना संभव है या नहीं। तब मुझे उम्मीद है कि कोई समझा सकता है कि मुझे पहले दृष्टिकोण को क्यों पसंद करना होगा। अग्रिम में धन्यवाद।
मैं यह भी कहूंगा कि ValidateSet से त्रुटि संदेश किसी भी कस्टम से कहीं अधिक अनुकूल है जो आप कर सकते हैं। प्लस ValidateSet कुछ टैब विस्तार क्षमता को जोड़ देगा यदि आपके उपयोगकर्ता PowerTab का उपयोग करते हैं। – JasonMArcher
आपको बहुत अधिक धन्यवाद। आपकी व्याख्या बहुत स्पष्ट हो गई है। मैंने लिंक पढ़ा लेकिन यह मेरे वर्तमान जानकारियों से बाहर है। एक बार फिर धन्यवाद :) –