验证我的 Dojo Datagrid 至少有一行
Validate that my Dojo Datagrid has at least one row
我有一个 Dojo 表单并且正在使用验证。对于我的常规字段和验证,一切正常。我的表单包含一个最初为空的 DataGrid,用户可以添加行。我希望我的表单验证检查 table 中是否至少有一行。 table 中的字段验证工作正常,但我需要确保它们至少添加了一行。
我试过类似的方法,但没有用(即,当表单的其余部分被验证时,函数没有被调用):
_myGrid.validator = function() {
debugger;
console.log("data", _myStore.objectStore.data);
}
你试过这样的事情吗?
if(this.yourformname.validate()&& this.grid.get('rowCount')>0){
//do your stuff
}else{
alert("either form is missing data or grid has no rows");
}
好吧,下面是检查数据网格行数的方法。
注意- 我不知道你在项目中使用的 dojo 版本但是 dojo 1.6
提供直接 属性 行数,即 dataGridObject.rowCount
工作代码-
JSFiddle- http://jsfiddle.net/vikash2402/NNQpn/162/
希望对您有所帮助:)
我刚刚编写了这个 JSFiddle,我认为它实现了你想要的:JSFiddle link
首先,您要做的是将网格包裹在 dijit/form/Form
中。之后,您使用从 DataGrid
和 _FormMixin
延伸的 dojo/_base/declare
创建一个新网格。它在 fiddle.
中的第 37 行
dijit/form/_FormMixin
在这里起着重要的作用:它将使您的网格继承一些功能,包括 validate()
和 isValid()
,它们可以被覆盖以进行验证。当您调用 Form.validate()
时,网格现在也将被验证。在我的示例中,您可以看到无论何时提交和验证表单,都会显示一条包含行数的警报。此警报编码在网格的 validate()
函数中。
希望对您有所帮助!
我有一个 Dojo 表单并且正在使用验证。对于我的常规字段和验证,一切正常。我的表单包含一个最初为空的 DataGrid,用户可以添加行。我希望我的表单验证检查 table 中是否至少有一行。 table 中的字段验证工作正常,但我需要确保它们至少添加了一行。
我试过类似的方法,但没有用(即,当表单的其余部分被验证时,函数没有被调用):
_myGrid.validator = function() {
debugger;
console.log("data", _myStore.objectStore.data);
}
你试过这样的事情吗?
if(this.yourformname.validate()&& this.grid.get('rowCount')>0){
//do your stuff
}else{
alert("either form is missing data or grid has no rows");
}
好吧,下面是检查数据网格行数的方法。
注意- 我不知道你在项目中使用的 dojo 版本但是 dojo 1.6
提供直接 属性 行数,即 dataGridObject.rowCount
工作代码-
JSFiddle- http://jsfiddle.net/vikash2402/NNQpn/162/
希望对您有所帮助:)
我刚刚编写了这个 JSFiddle,我认为它实现了你想要的:JSFiddle link
首先,您要做的是将网格包裹在 dijit/form/Form
中。之后,您使用从 DataGrid
和 _FormMixin
延伸的 dojo/_base/declare
创建一个新网格。它在 fiddle.
dijit/form/_FormMixin
在这里起着重要的作用:它将使您的网格继承一些功能,包括 validate()
和 isValid()
,它们可以被覆盖以进行验证。当您调用 Form.validate()
时,网格现在也将被验证。在我的示例中,您可以看到无论何时提交和验证表单,都会显示一条包含行数的警报。此警报编码在网格的 validate()
函数中。
希望对您有所帮助!