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

如何在Google Sheet App Script表单提交逻辑中仅设置C5为必填字段

代码修改方案

将原有的全字段非空校验逻辑替换为仅校验C5单元格的逻辑即可,修改后的完整代码如下:

function submitData() {
  var ss        = SpreadsheetApp.getActiveSpreadsheet();
  var formSS    = ss.getSheetByName("Form"); //Form Sheet
  var datasheet = ss.getSheetByName("OrderInput"); 
   
  //Input Values
  var values = [[formSS.getRange("C5").getValue(),
                 formSS.getRange("C7").getValue(),
                 formSS.getRange("C9").getValue(),
                 formSS.getRange("C11").getValue(),
                 formSS.getRange("C13").getValue()]];

  // 仅校验必填字段C5是否为空
  if (formSS.getRange("C5").getValue() === '') {
    SpreadsheetApp.getUi().alert('Please enter mandatory field in C5.');
  }
  else {
    datasheet.getRange(datasheet.getLastRow()+1, 2, 1, 5).setValues(values);
    SpreadsheetApp.getUi().alert('Request successfully submitted!');
    formSS.getRange("C5").clear();
    formSS.getRange("C7").clear();
    formSS.getRange("C9").clear();
    formSS.getRange("C11").clear();
    formSS.getRange("C13").clear();
  }
}

具体修改点

  • 移除了原代码中遍历所有表单字段判空的for循环逻辑,不再校验C7、C9、C11、C13的空值状态
  • 新增单独针对C5单元格的非空校验,仅当C5为空时触发告警拦截提交,告警文案同步替换为要求内容
  • 原有数据写入、提交成功提示、清空表单的逻辑全部保留,不影响原有提交流程

你也可以直接复用已经读取的values数组判断,将校验逻辑替换为if (values[0][0] === '')即可,不需要重复读取C5单元格的值,两种写法效果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 14:48:00