Form的字段使用allowBlank:false
设置必填, 但失去焦点时会自动验证, 效果是输入框的边框变成红色,鼠标移动到上面的时候会弹出输入的提示框, 效果如下图:
此外, 在form提交或是调用字段的isValid()或是validate()方式时也会提示验证。 但是这种使用体验要等点击提交按钮才发现有字段没有填值, 是否在一开始就可以提示哪些栏位必须填写呢?
效果可以是在字段的标签前加一个必填的提示符, 类似:
解决方案
结合allowBlank, 在字段标签加必填提示符。 因为字段有很多子类型, 每种子类型都可能使用到这个功能, 这正是 Mixin 的使用场景, 这里定义一个AllowBlank的Mixin 子类:
Ext.define('ExtjsdevEncy.mixin.AllowBlank', {
extend: 'Ext.Mixin',
mixinConfig: {
before: {
initComponent: 'beforeInit'
}
},
setAllowBlank: function (allowBlank) {
this.allowBlank = !!allowBlank;
if (!Ext.is