我有一个像下面这样的复合元素
{
xtype: 'compositefield'
,hideLabel: true
,labelWidth: 100
,items: [
{
xtype: 'displayfield'
,width: 160
,value: 'field 1'
},
{
xtype: 'checkbox',
name: 'field1name',
id: 'field1id',
checked: true
},
{
xtype: 'displayfield'
,width: 20
,value: 'Ft '
},
{
xtype: 'numberfield',
width: 50,
allowNegative: false,
value: 50,
name: 'numberfield'
}
]
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能进行自定义验证xtype:'numberField'
?
我不想放置配置选项allowBlank:false
,而是我想在其他地方验证它,但在字段的一侧显示错误消息.
任何人都可以向我解释如何做到这一点?
下面是我如何做,它在firebug中产生"无效方法"错误:
Ext.get('numberfield').setActiveError('this Field Cannot be Blank');
Run Code Online (Sandbox Code Playgroud)
和
Ext.get('numberfield').markInvalid('this Field Cannot be Blank');
Run Code Online (Sandbox Code Playgroud)
我认为最简单的方法是使用验证器功能:
{
xtype: 'compositefield'
,hideLabel: true
,labelWidth: 100
,monitorValid: true
,items: [
[...]
{
xtype: 'numberfield',
width: 50,
allowNegative: false,
value: 50,
name: 'numberfield',
validator: function(val) {
if (!Ext.isEmpty(val)) {
return true;
}
else {
return "Value cannot be empty";
}
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
24747 次 |
最近记录: |