【问题标题】:Integrating Ext.grid.panel validation and Ext.data.Model.validations集成 Ext.grid.panel 验证和 Ext.data.Model.validations
【发布时间】:2012-02-02 23:39:34
【问题描述】:

在对 ExtJS3 进行了相当多的开发之后,我一直在学习 ExtJS4。我对新类 Ext.data.Models 很感兴趣,但我很想将这些验证与 Ext.grid.Panel 中的验证功能集成。

谁能指出在网格面板中使用 Ext.data.Model 的验证属性的任何示例的方向?

我已尝试将验证添加到模型并将无效值放入网格中,但它似乎没有抛出错误或正常的红线。

有什么想法吗?

【问题讨论】:

    标签: model-view-controller extjs model gridpanel


    【解决方案1】:

    目前不支持针对网格数据的模型验证。

    Here 是针对表单字段进行模型验证的有效扩展。

    here 是针对网格进行模型验证的不完整尝试(您的目标是什么)。

    【讨论】:

    • 啊,这就是它对我不起作用的原因。嗯...据我所知,validations 属性的唯一开箱即用目​​的是用于在单个模型上调用的 validate() 函数?
    • 我认为您所说的 validate() 应该用于单个模型。这样,在网格上下文中,您可以在提交新行之前对其进行验证,或者在将已编辑的行发送回存储之前对其进行验证。
    • 不幸的是,模型验证是正确的。但是正如@ajit.kumar 提到的,您可以使用扩展名进行表单验证(上图)以及此处介绍的内联行编辑扩展名:edspencer.net/2009/09/using-the-extjs-row-editor.html
    【解决方案2】:

    @德鲁

    网格为行/单元格编辑提供了 RowEditing 和 CellEditing 插件。在后台,这些插件使用表单面板来验证输入。因此,您可以使用@Geronimo 提到的表单面板扩展以及 RowEditing 和 CellEditing 类的扩展,并在网格中使用它们来根据与行关联的模型验证在网格中输入的数据。并且因为 validate() 方法在模型上,它可以用来验证完整的行数据或特定的单元格数据。如果您正在寻找批量验证,您可以重写 Ext.data.Store 类的 sync() 方法来实现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-16
      • 2012-08-01
      • 1970-01-01
      • 2010-12-08
      • 2012-10-05
      • 2012-01-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多