Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs4.1-在隐藏字段中提交有效表单的allowblank为false_Extjs_Extjs4.1 - Fatal编程技术网

Extjs4.1-在隐藏字段中提交有效表单的allowblank为false

Extjs4.1-在隐藏字段中提交有效表单的allowblank为false,extjs,extjs4.1,Extjs,Extjs4.1,我有一个带有动态项的表单面板。某些项目已隐藏,例如: items: [{ xtype: 'textfield', fieldLabel: 'Field 1', name: 'theField' },{ xtype: 'textfield', fieldLabel: 'Field 2', name: 'theField'

我有一个带有动态项的表单面板。某些项目已隐藏,例如:

        items: [{
            xtype: 'textfield',
            fieldLabel: 'Field 1',
            name: 'theField'
        },{
            xtype: 'textfield',
            fieldLabel: 'Field 2',
            name: 'theField'
        },{
            xtype: 'textfield',
            fieldLabel: 'Field 3',
            name: 'theField',
            hidden: true,
            allowBlank : false
        }]
但是当我提交我的表格时

            if (form.isValid()) {
                alert('submit');
            }else alert('fail');
这将检查所有字段,并且我的表单不会提交
是否已转换为有效形式(仅显示字段)?怎么做谢谢


下面是我要检查的示例

正如您所说,隐藏字段仍将被验证。相反,您应该禁用该字段,这意味着它不会被提交,但也不会包含在验证中。

正如您所说,隐藏字段仍将被验证。相反,您应该禁用该字段,这意味着它不会被提交,但也不会包含在验证中。

隐藏字段将被验证。要禁用或跳过隐藏字段的验证,可以将“skipValidation”设置为true。此外,如果也设置了“allowBlank”,则将其设置为true

因此,通常当定义了一个字段并在其上添加了验证时,将skipValidation设置为true将禁用该字段的表单提交验证。但是,它不会禁用allowBlank验证。提交时仍无法将字段设置为空。因此,如果您的字段除了需要字段之外还有其他验证,那么您将需要这两种验证。显示字段时重置它们

//View
xtype:'textfield',
allowBlank:false,
validator: function(){
  //custom validation 
}
...

//Controller
function(){
...
   form.down("#field").skipValidation = true;
   form.down("field").allowBlank = true;
...
}

隐藏字段将被验证。要禁用或跳过隐藏字段的验证,可以将“skipValidation”设置为true。此外,如果也设置了“allowBlank”,则将其设置为true

因此,通常当定义了一个字段并在其上添加了验证时,将skipValidation设置为true将禁用该字段的表单提交验证。但是,它不会禁用allowBlank验证。提交时仍无法将字段设置为空。因此,如果您的字段除了需要字段之外还有其他验证,那么您将需要这两种验证。显示字段时重置它们

//View
xtype:'textfield',
allowBlank:false,
validator: function(){
  //custom validation 
}
...

//Controller
function(){
...
   form.down("#field").skipValidation = true;
   form.down("field").allowBlank = true;
...
}

事实上,我设置了隐藏和禁用,它就像一个符咒!谢谢兄弟!:-)事实上,我设置了隐藏和禁用,它就像一个符咒!谢谢兄弟!:-)