extjs 4 - Как изменить ошибку сообщения по умолчанию в поле

У меня есть панель формы в 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

Как это изменить. Спасибо

4 ответов


на 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!'
    }]

msgTarget: 'side' добавит значок ошибки справа от поля, отображая сообщение во всплывающем окне только при наведении.

Если вы внимательно читаете документацию, есть еще один вариант для msgTargethttp://docs.sencha.com/ext-js/4-1/#!/api / Ext.форма.поле.Текст-cfg-msgTarget

[идентификатор элемента] добавьте сообщение об ошибке непосредственно в innerHTML указанного элемента. вы должны добавить "td" в правую часть элемента управления динамически с ID. затем, если вы укажете msgTarget: 'element id', он будет работать.

ссылка ->ExtJS4: как показать сообщение об ошибке проверки рядом с textbox, combobox и т. д.


мы можем использовать метод validator и возвращает пользовательское сообщение.

{
    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;
    }

}

чтобы изменить активное сообщение об ошибке по умолчанию, мы используем 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