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

Posted

技术标签:

【中文标题】表单提交而不检查ext js中的必填字段【英文标题】:Form submitting without checking mandatory field in ext js 【发布时间】:2012-08-06 07:36:26 【问题描述】:

我在 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();
    

  ]

任何帮助都必须感谢..

【问题讨论】:

尝试将allowBlank : false 添加到表单字段。检查api文档docs.sencha.com/ext-js/3-4/#!/api/… 看***.com/questions/19658102/… 【参考方案1】:

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

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

之后,客户端验证将按预期工作。注意:button-saveid,应该在 Save 按钮上。

【讨论】:

以上是关于表单提交而不检查ext js中的必填字段的主要内容,如果未能解决你的问题,请参考以下文章

js怎么验证表单?

即使在 Angular JS 中必填字段为空,表单也会被提交

关注表单时如何更改表单中输入标签的颜色? [复制]

jQuery Validate:submitHandler 提交表单而不点击 form.submit

requiredfield 验证器正在阻止提交另一个表单

css 删除联系表单上的必填字段。