问题标签 [validateset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
860 浏览

powershell - ValidateSet 带空格的值

这是一个示例,ValidateSet其中值是包含空格的字符串:

IntelliSense 有效,但未引用完成的值。

有没有办法让完整的值被引用?

0 投票
1 回答
88 浏览

powershell - 具有 3001 个元素的 ValidateSet 导致长时间暂停

这是一个使用的简单函数ValidateSet

我的版本有 3001 个项目,而不是....

如果你想在家里跟着,这里有一种方法可以生成一个适合放置在那里的 3001 元素列表:

无论如何,上面的函数加载到 PowerShell 中就好了。但是,第一次尝试使用 IntelliSense 会触发数分钟的延迟。PowerShell ISE 还会继续消耗几 GB 的 RAM。在此延迟之后,RAM 使用量恢复正常,IntelliSense 工作,一切都响应。甚至$abc变量的完成也是响应式的。

有没有办法避免长时间的初始延迟?

0 投票
2 回答
925 浏览

c# - Powershell Cmdlet 的 ValidateSet 的制表符完成

我正在使用 C# 创建 PowerShell cmdlet。对于其中一个参数,我使用的是ValidateSet.

如何使值ValidateSet出现在制表符完成列表中?

0 投票
3 回答
1144 浏览

c# - Dynamic list of valid values for a PowerShell script

I have written a C# Tool where i can enter script parameters with an GUI which is generated based on the parmeter definitions of the script.

Now i want to have a dropdown list which offers me a dynamically generated set of values. The informations for this dropdown list should come from the parameter definition of the script.

(In my case i want to select an existing AD OU by Listing all Child-Objects of the Base OU.)

One way to get a list of valid parameters is to use "ValidateSet" for Parameter definition. There is abway to get te ValidateSet from the Script an build the dropdown list. But ValidateSet is a static deffinition and i have to update the script each time the list should be changed.

A good way for dynamic validation is "ValidateScript". The script command would be something like Test-Path. This would work for validation, but for my GUI i would not be able to generate a list of valid values.

Maby i can dynamically generate a custom enum type and use it as parameter type. A dropdown list for enum types is already implemented for GUI. But i think i's not a good idea and may not work to generate a enum type dynamically.

So, any other ideas for a list of valid values which is dynamically built?

0 投票
1 回答
1126 浏览

powershell - 如何从管道中获取 Powershell 中 DynamicParam 的值

我的目标是为同时支持两者的 powershell 函数提供一个参数

  1. ValidateSet(和 tab-compliition)用于仅在运行时已知的集合
  2. 通过管道提供参数的能力。

我能够实现#1,但看起来#2 失败了。

这是我的代码的简化示例:最初我有一个简单的函数,可以打印提供给该函数的所有参数名称。ValidateSet 是静态的,不是在运行时生成的。函数定义如下:

运行以下代码时

"val1" | Test-Static

输出是

bound parameters: Static

然后我继续尝试使用动态参数执行完全相同的操作,但它看起来像是$PsBoundParameters空的。请注意,如果我将值作为参数而不是通过管道提供,它确实会显示在$PsBoundParameters.

跑步时

"val1" | test-Dynamic我得到以下结果:

bound parameters:

这基本上意味着没有参数被绑定。

我究竟做错了什么?我怎样才能实现我最初的目标?

0 投票
2 回答
488 浏览

r - 在最大值后截断数据集

我有一个随着时间的推移重复测量的数据集,我在其中寻找最大 tn 值的预测变量。我对此后发生的措施不感兴趣。对于不同的患者,最大值出现在不同的日子。

我可以找到 tn_max:

如何在每个患者的最大 tn 之后截断数据集?我从以前的类似问题中找到了这段代码,但我无法让它工作错误:“N_max = find(df(:”)中的意外':'

非常感谢,安妮玛丽

0 投票
1 回答
300 浏览

powershell - 带有 ValidateSet 的 PowerShell 飞溅

当函数参数使用验证集时,我似乎无法正常工作。

下面的示例产生以下错误:

WhichFruit :无法验证参数“fruit”的参数。参数“System.Collections.Hashtable”不属于 ValidateSet 属性指定的集合“Apple,Orange”。提供集合中的参数,然后再次尝试该命令。

0 投票
0 回答
329 浏览

powershell - 将帮助文本添加到 Powershell v5 中 ValidateSet 参数属性中的选项

我正在使用[ValidateSet()]参数属性来验证用户收到的输入是否包含在已批准的输入值集中。但是,我想知道是否有一种方法可以在将鼠标悬停在集合中包含的给定值上时添加帮助文本以显示在控制台中。

当我在控制台中运行该功能时,自动完成会显示可用选项,但我想知道是否有办法关联一些显示在自动完成值旁边的帮助文本以提高可用性。

此外,在声明验证参数属性(例如ValidateSetValidateNotNullorEmpty等)时,HelpMessage似乎跳过了指定的属性,而是引发了与 PowerShell 无法验证参数输入相关的异常。如果第一个问题没有可行的答案,有没有办法放弃与参数验证相关的异常并用帮助消息提示用户?

0 投票
2 回答
4066 浏览

powershell - 来自 ValidateSet 的 Powershell 多个函数参数

我正在用 PowerShell 编写脚本,有时我需要在函数参数上使用 ValidateSet。这是一个非常好的功能,但我需要的还不止这些。

例如

所以这个代码片段允许我从列表中选择一个项目
JustAnExample -Fields IPAddress

然后将其打印到屏幕上。我想知道是否有可能允许选择多个值并将它们从一个验证集中传递给函数,就像这样

也许有一个图书馆,或者我只是错过了一些东西,但我真的找不到解决方案。

0 投票
2 回答
1247 浏览

powershell - PowerShell ValidateSet 失败 - 将变量设置为默认值的错误操作?

我正在使用一组必需参数来开发一个 powershell 函数。验证集效果很好,但是验证集是..如果输入的选项不是列出的选项之一..我会收到如下错误:

有没有办法让错误操作将错误的变量设置为之前定义的默认值?

所以在这种情况下,它将默认$ChooseOne为“ Test1