表单提交而不检查ext js中的必填字段

时间:2012-08-06 07:36:26

标签: javascript extjs extjs3

我在ext js表单中添加了一些带有必需'itemCls'的字段。但是表单提交时没有检查(必填字段)字段是否为空。

我的代码如下,

  xtype: 'form',
  id: 'form',
  bodyStyle: 'overflow : auto; height: 337px;',
  items: [{
    xtype: 'fieldset',
    items: [{
      xtype: 'combo',
      id: 'adr',
      anchor: '98%',
      listWidth: 300,
      itemCls: 'required',
      editable: false,
      store: store,
      displayField: 'NAM',
      valueField: 'ID',
      triggerAction: 'all',
      mode: 'local'
    }, {
      xtype: 'datefield',
      id: 'date',
      name: 'date',
      itemCls: 'required',
      readOnly: false,
    }, {
      xtype: 'textfield',
      id: 'name',
      itemCls: 'required',
      anchor: '98%',
      fieldLabel: 'name',
      name: 'name'
    }]
  }, {
    xtype: 'button',
    text: 'Save',
    handler: function(btn, evt) {
      Ext.getCmp('form').getForm().submit();
    }

  }]

任何帮助都必须得到赞赏..

1 个答案:

答案 0 :(得分:0)

您必须将monitorValid:true添加到表单。然后,您可以在表单上使用侦听器clientvalidation,例如,禁用提交按钮

listeners: {
  clientvalidation : function(form, valid) {
    Ext.getCmp('button-save').setDisabled(!valid);
  }
}

之后,客户端验证将按预期工作。注意:按钮保存 ID ,应该在保存按钮上。