重写 Ext.form.field 扩展功能

直接代码,放项目overrides文件夹中即可

 1 //重写类 表单父类
 2 //支持allowBlank动态绑定
 3 Ext.define("override.form.field.Base", {
 4     override: "Ext.form.field.Base",
 5     //标签文字右对齐
 6     labelAlign: 'right',
 7     setAllowBlank: function (value) {
 8         this.allowBlank = value;
 9         //如果不验证必填项,执行一下验证方法用来去掉警告
10         if (value) {
11             this.isValid();
12         }
13     }
14 });
//重写类 文本框
//汉化
//输入长度限制
//必填项自动标红加*
//修改必填项错误提示,提示更直观
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-9u4e00-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;
            }
        }
    }
});
原文地址:https://www.cnblogs.com/mlzs/p/5595761.html