如上图,如果我隐藏掉页面2,提交的时候还是要验证隐藏的才可以,有没有方法使页面2的验证失效,或者把验证删除的方法,初学ext,请大家帮忙看下

解决方案 »

  1.   

    每个tab页可以各放在一个form中
    你不行 验证tab2的话可以这样
    if(form1.form.isValid()&&!form2.form.isValid()){}
      

  2.   

    {xtype:"textfield",//这里先不写allowBlank:false,
    //需要的时候加上验证
    Ext.apply(address, { allowBlank: false, blankText: "地址不能为空!" });
    Ext.apply(email, { allowBlank: false, blankText: "email不能为空!" });
      

  3.   


     var tab2=new Ext.Panel({
                            title:'页面2',
                            layout: 'form',
                            defaults: {width: 230},
                            defaultType: 'textfield',
                            items:[{
                                    fieldLabel: '地址',
                                    name: 'address'
    //                                allowBlank: false
                                },
                                {
                                    fieldLabel: 'email',
                                    name: 'email',
                                    allowBlank: false,
                                    vtype:'email'
                            }]
                        });
    buttons: [{ 
                        text: '隐藏',
                        handler: 
                        function() {
                            Ext.apply(address, { allowBlank: false, blankText: "地址不能为空!" });                    }
                      },{ 
                        text: '按钮',
                        handler: form_submit
                      }]提示 address is undefined
      

  4.   

    Ext.apply(address, { allowBlank: false, blankText: "地址不能为空!" });
    这的address你首先要获取它的对象。还有你的面板是panel 你要改成formpanel