- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
验证字符串参数的长度时:
[Parameter(Mandatory=$false)]
[ValidateLength(6,128)]
[string]$value
是否可以不强制执行最大 长度(只有最小长度)?我试过:
[ValidateLength(6,0)]
但这会产生运行时错误。
最佳答案
无法直接使用该属性。
该属性的参数是 [int]
,因此可以隐式设置的最大值是 [int]::MaxValue
。
,但您不能直接使用该表达式,因为您需要一个文字。
因此,您可以对 [int]::MaxValue
的值进行硬编码,但 [int]
在技术上可能在不同的设备上具有不同的大小平台(话又说回来,2 GB 的字符串甚至可能无法工作,因此硬编码 2147483647 可能不是最糟糕的事情)。
我的测试脚本中有一个错字,我认为不可能直接使用 [int]::MaxValue
,但事实证明那不是真的(感谢 Mathias 让我返回并再次检查):
[ValidateLength(6, [int]::MaxValue)]
我在 5.1 版本上测试过,但似乎这在 v2 中可能不起作用,而且我不确定确切的支持是何时添加的。
另一种可能性是使用脚本进行验证:
[ValidateScript( { $_.Length -ge 6 } )]
如果你想要一个更好的错误信息,总是有throw
技巧:
[ValidateScript( { $_.Length -ge 6 -or $(throw [System.ArgumentException]"String must be at least 6 characters") } )]
此外,正如 Bill 和 Ansgars 所建议的,您可以使用正则表达式进行验证:
[ValidatePattern('^.{6,}$')]
关于powershell - ValidateLength - 没有最大长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46409194/
验证字符串参数的长度时: [Parameter(Mandatory=$false)] [ValidateLength(6,128)] [string]$value 是否可以不强制执行最大 长度(只有最
这是我的第一个脚本,所以不要打败我! 我正在研究根据用户输入创建网络目录和AD组的脚本。以下是我到目前为止所获得的。它可以工作,但是我想做一些改进。 我想验证用户输入的长度。我找到了一篇文章(Powe
我想在按下按钮添加和按钮删除时禁用验证,所以我尝试了这个 按钮添加已被禁用,但是按钮删除没有。而且我不知道出什么问题了! 这是我的代码,你们能帮我检查一下吗?对不起,我的英语不好
这个问题在这里已经有了答案: Using validator with a variable attribute in ui:repeat (1 个回答) 关闭 2 年前。 我目前正在使用 Prim
我有一个密码输入字段,上面有一个 md5 转换器。该字段与我的 entity.password 字段(存储为 md5 哈希值)绑定(bind)。 我想在其上设置一个f:validateLength,因
我有很多字段需要验证长度。这不是 的问题标签。我还可以为此验证器添加自定义消息。 问题是应该为每个字段自定义消息。例如。 firstname字段应包含消息“名字太短”或“名字太长”,surname应
我是一名优秀的程序员,十分优秀!