Dojo dateTextBox onChange仅在有效约束传递之后

时间:2014-04-02 16:13:18

标签: javascript dojo

我有一个dojo DateTextBox,如下所示:

<input
dojoType="dijit.form.DateTextBox"
dojoAttachPoint="axisStart"
dojoAttachEvent="onChange:_onChange"
data-dojo-props="constraints:{min: new Date(1990,01,01)}"
tabIndex="2" />

如果我在1990年之前使用日期选择器返回,我就无法将它们罢工。预期

但是,如果我在1990年之前手动输入日期,然后离开输入字段,onChange事件仍然会触发。我不想要它。

道场警报会显示&#34;此值超出范围&#34;正确。

有没有办法只有在满足约束条件时才能触发onChange事件?或者是否有一个我可以在_onChange函数中查找的属性,以便不运行代码?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我认为你从错误的角度处理这个问题,它应该改变,因为dijit的价值确实发生了变化。

您可以通过调用dijit的_isValid()函数来检查窗口小部件是否有效。可能是你需要做如下事情:

dijit.on('change', function(e){
    if (dijit._isValid()){
        //run some code
    }
});