Powershell:如何动态引用我的哈希表

问题描述 投票:0回答:1

我正在创建一个特定于标准的 ADUC 替换表格,我已经完成了大部分工作,我只需要完成验证。我调用我的函数...利用 $this 类...但我不确定如何通过在哈希表路径中“向上”来引用哈希表的其余部分。我以前从未这样做过。

$formField.IPPhone.Field.Add_TextChanged({
            TestPhoneNumberValid
        })

我调用我的验证函数,目标是保持此代码如此简单,我将使用 TestPhoneNumberValid 与我的其他“电话”字段。

function TestPhoneNumberValid  {
        if ($this.MaskCompleted -eq $true -or ($this.Text -replace '\s','').Length -eq 3 ) {
            
        ###The following commands are what I want to do but what I need help referencing dynamically based on $this
            $formField.IPPhone.Validated = $true
            $formField.IPPhone.Info.Text = ""
        } Else {
            $formField.IPPhone.Info.Text = "Phone number is not in a valid format of (555) 555-5555"
        }
}
powershell
1个回答
0
投票

不确定这是否有效,但也许尝试将函数的声明更改为:

function TestPhoneNumberValid ($formField) {

并将函数的调用方式更改为:

$formField.IPPhone.Field.Add_TextChanged({
    TestPhoneNumberValid $using:formField
})

如果

using:
成功获取
formField
,则应将其作为参数传递给函数。

© www.soinside.com 2019 - 2024. All rights reserved.