Validation ExtJS 6.5.3.57表单字段验证程序函数未启动

Validation ExtJS 6.5.3.57表单字段验证程序函数未启动,validation,extjs6,extjs6.5,Validation,Extjs6,Extjs6.5,我正在尝试向ExtJS 6.5.3.57 Classic或Modern中的表单字段添加验证器。通过阅读各种帖子,我认为这应该是可行的,但是当我运行myField.isValid()时,它总是返回true,并且我没有看到我的console.log()语句触发,所以我不得不假设我的函数没有被调用 {xtype: numberfield, name: 'myField', validator: function(field){ console.log('testing my validat

我正在尝试向ExtJS 6.5.3.57 Classic或Modern中的表单字段添加验证器。通过阅读各种帖子,我认为这应该是可行的,但是当我运行
myField.isValid()
时,它总是返回true,并且我没有看到我的
console.log()
语句触发,所以我不得不假设我的函数没有被调用

{xtype: numberfield,
 name: 'myField',
 validator: function(field){
    console.log('testing my validator');
    return false;
  }
}
我也尝试了这个方法,因为我不确定它是
validator
还是
validators

{xtype: numberfield,
 name: 'myField',
 validators: {
    fn: function(field){
            console.log('testing my validator');
            return false;
        }
  }
}
我认为这应该行得通吗


这里有一个小提琴显示登录表单中的顶部字段,上面有一个验证器,但似乎从未将消息记录到屏幕或控制台

您给出的第二个示例是有效的,我已经做了一个工作:


我分叉了一个MVVM小提琴,并在登录屏幕上添加了一个validator字段,它使用与您的示例相同的代码,但是validator函数从未启动。这是一个MVVM的东西,还是一个表单的东西,这些验证器不能正常工作?版本不同,我的小提琴使用6.5.3现代版,你的小提琴使用6.0.2经典版,所以。。。你也许应该澄清一下。哦,好吧,我没意识到。我实际上也在开发6.5.3 modern,但仍然无法启动该验证器。我会看看是否可以更新fiddle来显示我的问题为了简单起见,我将它保留在经典框架中,但升级到6.5.3.57,仍然无法启动验证程序。因为现代和经典的框架是不同的。你用classic做小提琴得0分。
Ext.application({
    name : 'Fiddle',

    launch : function() {
        Ext.Viewport.add({
            xtype: 'textfield',
            validators: {
                fn: function(v) {
                    return v === 'abc' || 'Value must be abc'
                }
            }
        });
    }
});