You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Google Sheets脚本CheckIn函数添加B11、D11非空必填校验

Google Sheets Apps Script CheckIn函数必填校验修改方案

修改后的完整代码

// 请先定义你需要匹配的搜索列索引(从0开始计数,例如A列对应0,B列对应1)
const SEARCH_COL_IDX = 1; // 这里请根据你的实际业务修改成对应值

function CheckIn() {
  var formS = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("form");
  var logS = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("log");

  // 获取必填字段值并做去空处理
  var val1 = formS.getRange("B11").getValue().toString().trim();
  var val2 = formS.getRange("D11").getValue().toString().trim();

  // 非空校验:任意字段为空则终止执行
  if (!val1 || !val2) {
    SpreadsheetApp.getUi().alert("B11、D11为必填项,请填写完整后再提交");
    return;
  }

  var values1 = [[val1]];
  var values2 = [[val2]];
  var str = formS.getRange("B2").getValue();
  var values = logS.getDataRange().getValues();

  for (var i = 0; i < values.length; i++) {
    var row = values[i];
    if (row[SEARCH_COL_IDX] == str) {
      var INT_R = i + 1;
      logS.getRange(INT_R,7).setValues(values1);
      logS.getRange(INT_R,8).setValues(values2);
      SpreadsheetApp.getUi().alert("Checked In");
    }
  }
}

修改说明

  • 新增了必填校验逻辑:提前获取B11、D11的取值后做去空格处理,只要任意一个字段为空,就弹出提示并终止函数运行,不会执行后续的日志写入操作,避免空数据写入
  • 移除了原代码中多余的标记符号,补充了原代码缺失的SEARCH_COL_IDX常量定义提示,你可以根据自己实际要匹配的列修改这个常量值
  • 优化了取值逻辑,避免重复调用单元格读取接口,提升运行效率

内容的提问来源于stack exchange,提问作者test tester

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 07:06:04