SpreadJS 提供哪些数据验证方式?
SpreadJS 纯前端表格控件是基于 HTML5 的 JavaScript 电子表格和网格功能控件,适用于.NET、Java 和移动端等各平台在线编辑类 Excel 功能的表格程序开发。
那么,SpreadJS 提供哪些数据验证方式呢?
下面,小编来告诉大家。
SpreadJS 提供了以下六种数据验证方式,通过设置验证器可以阻止用户的无效输入。
createNumberValidator:创建基于数字的验证器。
createDateValidator:创建基于数据的验证器。
createTextLengthValidator: 创建基于文本长度的验证器。
createFormulaValidator: 创建基于公式的验证器。
createFormulaListValidator: 创建基于公式列表的验证器。
createListValidator: 创建基于列表的验证器。
在数据验证基本应用和自定义数据验证两个示例中我们可以看到 SpreadJS 数据验证的强大功能。接下来我们看看在数据提交前如何验证用户是否所有输入都是合法的。
判断 Value 是否能通过一个单元格的验证器,需要使用 sheet 的 isValid 方法。比如
activeSheet.isValid(0, 0, 10)。
有了这个方法我们就可以验证所有单元格的内容是否都通过了自己的验证器。
function isSheetValid(sheet){
var rowCount=sheet.getRowCount(),
colCount=sheet.getColumnCount();
var isValid=true;
for(var row=0; row < rowCount; row++){
for(var col=0; col < colCount; col++){
if(!sheet.isValid(row, col, sheet.getValue(row, col))){
isValid=false;
break;
}
}
}
return isValid;
}
每个 cell 都遍历一般看起来性能有点低,如果当初始化后页面 sheet 是有内容的,并且数据默认都是通过验证的。
那么这时我们只需要获取到被用户改动过的单元格去验证下是否通过验证就可以了。
function isSheetValidNew(sheet){
var rowCount=sheet.getRowCount(),
colCount=sheet.getColumnCount();
var isValid=true;
var cells=sheet.getDirtyCells();
for(var i=0; i < cells.length; i++){
var dirtyCell=cells[i];
var row=dirtyCell.row, col=dirtyCell.col;
if(!sheet.isValid(row, col, sheet.getValue(row, col))){
isValid=false;
break;
}
}
return isValid;
}
通过 isValid 方法的验证,用户表单输入的验证流程就完整了,一切在前端搞定。
快人一步,免费试用
请通过以下方式联系葡萄城,获取 SpreadJS 的免费试用版。

浙公网安备 33010602011771号