如何检查ASP.NET Core Kendo Spreadsheet的验证错误及类型
ASP.NET Core中Kendo Spreadsheet验证错误的检测方法
一、批量检查工作表是否存在验证错误
要判断整个工作表是否有验证错误,需通过Kendo Spreadsheet的客户端API遍历单元格并执行验证:
- 获取工作表实例:
var spreadsheet = $("#你的SpreadsheetID").data("kendoSpreadsheet"); var targetSheet = spreadsheet.sheets()[0]; // 替换为目标工作表索引
- 遍历已使用单元格范围,检查带验证规则的单元格:
var hasValidationErrors = false; var usedRange = targetSheet.usedRange(); for (var row = usedRange.top; row <= usedRange.bottom; row++) { for (var col = usedRange.left; col <= usedRange.right; col++) { var cell = targetSheet.range(row, col); var validationConfig = cell.validation(); // 仅检查配置了验证规则的单元格 if (validationConfig) { var validationResult = targetSheet.validateCell(cell); if (!validationResult.isValid) { hasValidationErrors = true; // 输出错误详情 console.log(`单元格(${row+1}, ${col+1})验证失败:`); console.log(`错误类型:${validationResult.type}`); console.log(`错误消息:${validationResult.message}`); } } } } // 业务逻辑处理 if (hasValidationErrors) { alert("工作表存在验证错误,请检查!"); }
二、单个单元格的验证错误检测
仅检查特定单元格时,直接对目标单元格执行验证:
var spreadsheet = $("#你的SpreadsheetID").data("kendoSpreadsheet"); var sheet = spreadsheet.activeSheet(); var targetCell = sheet.range("A1"); // 替换为目标单元格地址 var result = sheet.validateCell(targetCell); if (!result.isValid) { console.log(`错误类型:${result.type}`); // 对应配置的"warning"或"error" console.log(`错误提示:${result.message}`); } else { console.log("单元格验证通过"); }
三、验证规则配置说明
你当前使用的服务端配置代码如下:
myCell.Validation(v => v .ComparerType("custom") .DataType("custom") .From("R[0]C[0] > 0") .Type("warning") .ShowButton(true) .AllowNulls(true) .TitleTemplate("Alerte de validation") .MessageTemplate("Attention, cette valeur est négative !"));
其中Type("warning")定义了验证失败的类型,validateCell方法返回的result.type会对应此值;result.message则会返回你设置的MessageTemplate内容。
内容的提问来源于stack exchange,提问作者serge
相关产品推荐
相关产品推荐

