allowBlank:false在extjs字段中有什么用途

What is the use of allowBlank: false in extjs fields

本文关键字:什么 字段 false extjs allowBlank      更新时间:2023-09-26

我在面板中有一个文本字段。例如:

{
    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(),也可以发现错误)。。。

对于限制表单面板文本值提交,请使用

submitvalue: false

参考:http://docs.sencha.com/extjs/5.0/apidocs/#/api/Ext.form.field.File-cfg-submitValue

然而,allowBlank:如果字段为空,则false将限制表单提交。

allowBlank只是简单地"告诉"验证程序您的字段在验证/提交时可能是空的,也可能不是空的。如果您对面板/表格进行验证,那么allowBlank:false应确保您不能在那里使用空白/空字段。

相关文章: