直接代码,放项目overrides文件夹中即可
//重写类 表单父类
//支持allowBlank动态绑定
Ext.define("override.form.field.Base", {
override: "Ext.form.field.Base",
//标签文字右对齐
labelAlign: 'right',
setAllowBlank: function (value) {
this.allowBlank = value;
//如果不验证必填项,执行一下验证方法用来去掉警告
if (value) {
this.isValid();
}
}
});
//重写类 文本框
//汉化
//输入长度限制
//必填项自动标红加*
//修改必填项错误提示,提示更直观
Ext.define("override.form.field.Text", {
override: "Ext.form.field.Text",
invalidText: '输入内容无效',
minLengthText: '最少输入{0}个字符',
maxLengthText: '最多输入{0}个字符',
blankText: '此项是必填项',
//设置提示信息在文本框下方显示
msgTarget: 'under',
//默认最大长度限制
maxLength: 100,
//输入过滤
maskRe: /[_ %-@.a-zA-Z0-9\u4e00-\u9fa5]/,
initComponent: function () {
var me = this,
label;
me.callParent(arguments);
if (me.fieldLabel) {
//过滤掉空格字符
label = me.fieldLabel.replace(/&..sp;/g, '');
if (!me.emptyText) {
//自动设置空值提示
me.emptyText = '请输入' + label;
}
//必填项自动标红加*
if (me.allowBlank === false) {
//自动设置必填提示
me.blankText = label + '为必填项';
me.fieldLabel = '<font color=red>*</font>' + me.fieldLabel;
}
}
}
});