如何使用 dojo 约束对象为我的 dojo TextBox 或 NumberTextBox 中的 IP 地址自定义文本输入字段

How do I use the dojo constraints object to customize the text input field for an IP address in my dojo TextBox or NumberTextBox

如何使用约束对象为我的 dojo TextBox 或 NumberTextBox 中的 IP 地址自定义文本输入字段。或者我应该使用另一个对象来执行此操作,用户必须正确键入 IP 地址。

我只是想为用户创建一个输入字段来输入需要这样的 IP 地址:pattern:'min:1,max255.min:0,max255.min:0,max255.min:0,max255'

我认为我当前的问题是我正在尝试使用 NumberTextBox,但它的约束覆盖了我的约束。

我真的很想知道我有哪些可用的约束选项,但我发现的关于 dojo 约束的文档已被弃用,link 被替换为指向 DateTimeBox。 :|

这是我的代码片段:

cellWidget.outProActFeedsDestAddr.set('constraints', {pattern:'min:1,max255.min:0,max255.min:0,max255.min:0,max255'});

虽然 IP 地址在某种意义上是数字,但 NumberTextBox 实际上是为典型的单一数值而设计的,所以这并不是一个真正的选择。您可能有几个选择:

  1. 使用 ValidationTextBox 并给它一个适当的 regExp(请注意,Dijit 需要一个字符串 属性,并在其周围应用 ^$),或 validator 函数(有一个 dojox/validate/regexp.ipAddress 您可以使用)
  2. 编写一个表单小部件,将 4 个 NumberTextBox 实例合并为一个 value(我不确定使用这种方法网格是否会在制表位方面造成麻烦)