验证函数适用于ValidationTextBox,但不适用于FilteringSelect。为什么?

时间:2014-08-18 13:57:01

标签: javascript dojo

我有一种相当奇怪的行为,不知道是不是因为我做得不对。

我尝试在我的应用程序中自定义Dojo FilteringSelect,以便随意显示无效消息。看看API,我找到了一种方法。这种方式适用于ValidationTextBox。

切换验证状态的代码:

var originalValidator = textBox.validator;
textBox.validator = function() {return false;}
textBox.validate();  
textBox.validator = originalValidator;

这是一个小提琴,所以你可以看看:

http://jsfiddle.net/phusick/HGBnq/

如果我将ValidationTextBox更改为FilteringSelect,它应该工作相同。但由于某种原因,它没有! 这是小提琴:

http://jsfiddle.net/nachoargentina/HGBnq/421/

非常感谢任何建议!

1 个答案:

答案 0 :(得分:2)

dijit/form/FilteringSelect确实继承自dijit/form/ValidationTextBox,但它会覆盖isValidsource)。 isValid调用ValidationTexBox中的验证程序函数。

您可以使用FilteringSelect用于ValidationTextBox的相同方法,或者您想要或需要使用的相同方法撰写自己的isValid