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

Gmail插件Card Service文本输入:最大长度与字母数字验证指引

Gmail插件Card Service文本输入框验证实现指导

一、调整文本输入框配置

在原有的TextInput配置中添加提示文本,明确告知用户输入规则,同时保留原有变更触发动作:

CardService.newTextInput()
  .setFieldName(`Field150`)
  .setTitle("Field150")
  .setHint("仅允许输入1个字母或数字") // 新增提示,明确规则
  .setOnChangeAction(CardService.newAction()
    .setFunctionName("Field150"));

二、更新输入验证逻辑

修改Field150函数,同时实现最大长度限制和字母数字格式验证,并区分不同错误场景给出对应提示:

function Field150(e) {
  var inputFieldValue = e.formInput.Field150?.trim() || ""; // 处理空值或空格
  console.log("inputFieldValue", inputFieldValue);
  var alphanumericRegex = /^[a-zA-Z0-9]$/; // 正则修改为仅匹配单个字母数字

  // 先判断长度,再验证格式
  if (inputFieldValue.length > 1) {
    return CardService.newActionResponseBuilder()
      .setNotification(CardService.newNotification()
        .setText("输入过长,仅允许1个字符"))
      .build();
  } else if (!alphanumericRegex.test(inputFieldValue) && inputFieldValue !== "") {
    return CardService.newActionResponseBuilder()
      .setNotification(CardService.newNotification()
        .setText("输入无效,仅允许字母或数字"))
      .build();
  } else if (inputFieldValue !== "") {
    console.log("Valid alphanumeric input: " + inputFieldValue);
    return CardService.newActionResponseBuilder()
      .setNotification(CardService.newNotification()
        .setText("输入有效"))
      .build();
  }
  // 空输入时不返回提示,避免干扰用户
  return CardService.newActionResponseBuilder().build();
}

关键改动说明:

  • 长度限制:直接判断输入值的长度是否超过1,优先提示长度错误
  • 正则优化:将原正则/^[a-zA-Z0-9]+$/改为/^[a-zA-Z0-9]$/,确保仅匹配单个字母或数字
  • 空值处理:加入空值/空格判断,避免空输入触发错误提示
  • 错误区分:分别针对长度过长、格式无效给出明确提示,提升用户体验

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 18:12:41