我在面板中有一个文本字段。例如:
{
xtype:'textfield',
id:'usap8',
width:199,
height:26,
colspan:1,
margin: '1 0 1 0',
allowBlank: false,
fieldStyle: 'text-align: center;'
}
我可以限制面板提交吗?如果不是,allowBlank
配置有什么用?
最佳答案
allowBlank
不会自动限制表单提交。
相反,如果您询问表单是否有效,它是一个相关的配置:
if(form.isValid()) form.submit()
在isValid
函数,询问所有字段是否有效:
invalid = me.getFields().filterBy(function(field) {
return !field.validate();
});
field.validate()
调用 field.isValid()
,后者调用 field.getErrors()
。
Ext.form.field.Text
在其函数中有以下行 getErrors
:
if (trimmed.length < 1 || (value === me.emptyText && me.valueContainsPlaceholder)) {
if (!me.allowBlank) {
errors.push(me.blankText);
}
这里您所说的配置会导致如果该字段为空则抛出错误。
然后该错误通过上述函数返回,直到 form.isValid()
返回 false
(但您也可以通过调用 field 来找出错误.validate()
、field.isValid()
或 field.getErrors()
手动)...
关于javascript - allowBlank : false in extjs fields有什么用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26624737/