1

我正在尝试将验证器添加到 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;
        }
  }
}

我认为这应该有效吗?

这是一个小提琴,显示登录表单中的顶部字段上有一个验证器,但似乎从未将消息记录到屏幕或控制台。 https://fiddle.sencha.com/#fiddle/2eoa

4

1 回答 1

1

你给的第二个例子是有效的,我做了一个工作小提琴

Ext.application({
    name : 'Fiddle',

    launch : function() {
        Ext.Viewport.add({
            xtype: 'textfield',
            validators: {
                fn: function(v) {
                    return v === 'abc' || 'Value must be abc'
                }
            }
        });
    }
});
于 2018-03-21T22:12:42.967 回答