【问题标题】:Dojo validation that depends on another widget value依赖于另一个小部件值的 Dojo 验证
【发布时间】:2013-03-21 16:12:33
【问题描述】:

我有一个带有验证参数的小部件,例如“min”和“max”。我希望动态设置“min”,因为它取决于另一个小部件中包含的值。

<input id="test" type="text"
    data-dojo-type="dijit/form/NumberTextBox"
    name= "elevation"
    required="true"
    value="3000"
    data-dojo-props="constraints:{min:-20000,max:20000,places:0},
    invalidMessage:'Invalid elevation.'" />

我怎样才能做类似 min: testWidget.getValue() 的事情

谢谢。

【问题讨论】:

    标签: widget constraints dojo


    【解决方案1】:

    您需要做的就是使用_WidgetBase#set 方法。以下是 Dojo 的 API 文档中的描述:

    在小部件上设置属性 在小部件上设置命名属性,这些属性可能由小部件中的设置器处理。

    例如,如果小部件具有属性“foo”和“bar”以及名为 _setFooAttr() 的方法,则调用 myWidget.set("foo", "Howdy!") 将等效于调用 widget._setFooAttr("你好!") 和 myWidget.set("bar", 3) 等价于声明 widget.bar = 3;

    set() 也可以使用名称/值对的散列来调用,例如:

    因此,使用您的小部件参考,您可以简单地执行以下操作:

    var elevationInput = dijit.byId("test");
    var constraints = {
      min: testWidget.getValue(); // or testWidget.get("value")
      max: elevationInput.constraints.max
    };
    elevationInput.set("constraints", constraints);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-26
      • 2011-10-25
      • 1970-01-01
      • 2015-09-20
      • 1970-01-01
      • 2017-04-12
      • 1970-01-01
      • 2017-05-24
      相关资源
      最近更新 更多