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'
}],
Я хочу изменить ошибку сообщения по умолчанию в поле
Как это изменить. Спасибо
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