2012-01-05 42 views
2

在ExtJS3中完成了相當多的開發之後,我一直在學習ExtJS4。我對新的Ext.data.Models類非常感興趣,但我很想將這些驗證與Ext.grid.Panel中的驗證功能集成在一起。集成Ext.grid.panel驗證和Ext.data.Model.validations

任何人都可以指向任何使用網格面板中Ext.data.Model的驗證屬性的示例的方向嗎?

我已經嘗試將驗證添加到模型並將無效值放入網格中,但它似乎不會引發錯誤或正常的紅線。

任何想法?

回答

3

當前不支持對網格數據進行模型驗證。

Here雖然是對錶單字段進行模型驗證的工作擴展。

here是針對網格進行模型驗證的不完整嘗試(您要做什麼)。

+0

啊,這就是爲什麼它不適合我。嗯......據我瞭解,那麼'validations'屬性的唯一開箱即用的目的是爲了在單個模型上調用'validate()'函數? – Drew 2012-01-05 05:53:18

+0

我認爲驗證()如你所說應該用於個別模型。通過這種方式,在網格環境中,您可以在提交它之前驗證新行,或者在將其發回給商店之前驗證編輯的行。 – dougajmcdonald 2012-01-05 08:17:40

+0

不幸的是,關於模型驗證是正確的。但是,@ ajit.kumar提到你可以使用表單驗證的擴展(以上)以及這裏介紹的行內行編輯的擴展:http://edspencer.net/2009/09/using-the-extjs-row -editor.html – Geronimo 2012-01-05 18:32:20

3

@Drew

網格提供了用於行/細胞編輯RowEditing和CellEditing插件。在後臺,這些插件使用Form面板來驗證輸入。因此,您可以使用@Geronimo提到的表單面板擴展,以及RowEditing和CellEditing類的擴展,並在網格中使用它們來驗證在與該行相關的模型中輸入的數據。而且,由於validate()方法在模型上,可用於驗證完整的行數據或特定的單元格數據。如果您正在查找批量驗證,則可以覆蓋Ext.data.Store類的sync()方法以實現此目的。