ExtJS 4 - 如何更改字段默认错误信息

8

我有一个表单面板在http://jsfiddle.net/7CLWy/。以下是我重要的代码。

items: [{
    xtype: 'textfield',
    fieldLabel: 'First Name',
    allowBlank: false,
    msgTarget: 'under',
    name: 'firstName'
}, {
    xtype: 'datefield',
    allowBlank: false,
    fieldLabel: 'Start date',
    msgTarget: 'under'
}],

我想更改字段中的默认错误消息。

enter image description here

如何更改。谢谢。


你有没有看过文档?在这里http://docs.sencha.com/extjs/4.0.7/?mobile=/api/Ext.form.field.Base invalidText - Ruan Mendes
4个回答

19

blankText属性是在字段必填时的验证信息,invalidText是字段一般性验证失败的文本。您可以在这些属性中添加自定义消息。类似地,如果您使用regex属性进行基于正则表达式的验证,则可以使用regexText字段提供自定义验证消息。

    items: [{
        xtype: 'textfield',
        fieldLabel: 'First Name',
        allowBlank: false,
        msgTarget: 'under',
        name: 'firstName',
        blankText: 'This should not be blank!'
    }, {
        xtype: 'datefield',
        allowBlank: false,
        fieldLabel: 'Start date',
        msgTarget: 'under',
        invalidText: 'This value is not a valid date!'
    }, {
        xtype: 'textfield',
        fieldLabel: 'Digits followed by A,B,or C',
        msgTarget: 'under',
        name: 'someText',
        regex: /^\d+[ABC]$/,
        regexText: 'This must be a string of digits followed by A, B, or C!'
    }]

0

我们可以使用验证器方法并返回自定义消息。

{
    xtype: 'textfield',
    fieldLabel: 'Digits followed by A,B,or C',
    msgTarget: 'under',
    name: 'someText',
    validator : function(value){
         var regex= /^\d+[ABC]$/;
         if(!regex.test(value)){
              return "'This must be a string of digits followed by A, B, or C!'"
          }
         return true;
    }

}

0

msgTarget: 'side' 会在字段右侧添加一个错误图标,在悬停时以弹出窗口的形式显示消息。

如果您仔细阅读文档,还有一个选项可用于 msgTarget http://docs.sencha.com/ext-js/4-1/#!/api/Ext.form.field.Text-cfg-msgTarget

[元素 ID] 直接将错误消息添加到指定元素的 innerHTML 中。 您必须动态向控件的右侧添加一个带有 ID 的 "td"。 然后,如果您指定 msgTarget: 'element id',它将起作用。

参考 ->ExtJS4:如何在文本框、组合框等旁边显示验证错误消息


抱歉:(我读了但是不太理解,我尝试使用msgTarget: 'myid'和document.getElementById("myid").innerHTML='my msg';。你能给一个可行的例子吗?谢谢。 - LookAtMeNow

-1

要更改默认的活动错误消息,我们使用setActiveError(msg)。 您可以查看以下代码。

items: [{
        xtype: 'textfield',
        fieldLabel: 'First Name',
        allowBlank: false,
        id:'fn',
        msgTarget: 'under',
        name: 'firstName',

    }, {
        xtype: 'datefield',
        allowBlank: false,
        fieldLabel: 'Start date',
        msgTarget: 'under',
       }
    ],
renderTo: Ext.getBody()
});
var m = Ext.getCmp('fn');
m.setActiveError("important"); //can change the text

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接